API MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@API MCP Servercreate a note titled 'Meeting Notes' with the key discussion points"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Server for Calling Api MCP Server
A custom MCP server
This is a TypeScript-based MCP server that implements a simple notes system. It demonstrates core MCP concepts by providing:
Resources representing text notes with URIs and metadata
Tools for creating new notes
Prompts for generating summaries of notes
Features
Resources
List and access notes via
note://URIsEach note has a title, content and metadata
Plain text mime type for simple content access
Tools
create_note- Create new text notesTakes title and content as required parameters
Stores note in server state
Prompts
summarize_notes- Generate a summary of all stored notesIncludes all note contents as embedded resources
Returns structured prompt for LLM summarization
Related MCP server: nuclei-server MCP Server
Development
Install dependencies:
npm installBuild the server:
npm run buildFor development with auto-rebuild:
npm run watchInstallation
To use with Claude Desktop, add the server config:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
" MCP Server for Calling Api": {
"command": "/path/to/ MCP Server for Calling Api/build/index.js"
}
}
}Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:
npm run inspectorThe Inspector will provide a URL to access debugging tools in your browser.
Available Tools
7 toolsauth_loginC
Authenticate against an API, extract a JWT, and store it locally for reuse
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to make the authentication request to | |
| headers | No | Optional headers to include in the auth request | |
| body | No | The request body for authentication | |
| requestType | No | Request type for the auth call | |
| fieldFiles | No | Array of field names that should be treated as files for form-data auth requests | |
| jwtPath | Yes | Dot-notation path to the JWT in the response (e.g., token.access_token) | |
| folder | Yes | Folder where the token file will be stored | |
| user_title | No | Optional label for the stored token (default: 'default') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions authentication, JWT extraction, and local storage, but lacks details on behavioral traits such as error handling, security implications (e.g., token expiration), rate limits, or side effects (e.g., overwriting existing tokens). For a critical auth tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core functionality without unnecessary words. It directly states the tool's actions (authenticate, extract, store) and purpose (for reuse), making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (8 parameters, no output schema, and no annotations), the description is insufficient. It does not cover critical aspects like return values (e.g., success/failure indicators), error scenarios, or security best practices, leaving gaps for an AI agent to operate safely and effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 8 parameters thoroughly. The description does not add any additional meaning or context beyond what the schema provides (e.g., explaining why 'jwtPath' or 'folder' are needed). Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Authenticate against an API, extract a JWT, and store it locally for reuse.' It specifies the verb (authenticate) and resource (API/JWT), but does not explicitly differentiate it from sibling tools like 'post' or 'get', which might also involve API interactions. This makes it clear but not fully sibling-distinctive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., needing credentials), exclusions (e.g., not for non-JWT auth), or compare it to sibling tools like 'post' for general API calls. This lack of context leaves usage ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clear_userC
Remove a specific user or clear the token store
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | Folder where the token file is stored | |
| file | No | Optional token file name (default: tokens.json) | |
| user_title | No | Specific user title to remove. If omitted, all users are removed. | |
| preserveDefault | No | When clearing all users, keep the 'default' user entry if it exists |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool performs removal/clearing operations (implying destructive changes) but doesn't specify whether this requires authentication, what the side effects are (e.g., data loss), error conditions, or what happens after execution. For a tool with clear destructive potential, this is insufficient behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence) and front-loaded with the core functionality. Every word earns its place by clearly stating the two possible operations without any redundant information or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (destructive operations with 4 parameters) and lack of annotations or output schema, the description is incomplete. It doesn't explain what 'clear the token store' means in practice, what confirmation or results to expect, or how this interacts with authentication systems. For a tool that modifies persistent state, more context about behavior and consequences is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage, so all parameters are documented in the schema itself. The description adds no additional parameter semantics beyond what's already in the schema properties. The baseline score of 3 reflects adequate but minimal value added by the description regarding parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('Remove' and 'clear') and resources ('specific user' and 'token store'). It distinguishes between two related operations but doesn't explicitly differentiate from sibling tools like 'delete' or 'list_user', which would require more specific context about what makes this tool unique for user/token management.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'delete' or 'list_user' from the sibling list. It mentions two operations (remove specific user vs clear all) but lacks context about prerequisites, typical scenarios, or exclusions that would help an agent decide when this is the appropriate choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deleteC
Make a DELETE HTTP request
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to make the DELETE request to | |
| headers | No | Optional headers to include in the request | |
| auth | No | Optional auth configuration to load a stored bearer token |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the basic action without disclosing behavioral traits. It doesn't mention potential destructive effects (DELETE typically removes resources), authentication requirements beyond the optional auth parameter, rate limits, error handling, or response format. This leaves significant gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with a single sentence that directly states the tool's function. It's front-loaded with no wasted words, making it easy to parse quickly. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a mutation tool (DELETE) with no annotations, no output schema, and complex parameters including nested objects, the description is incomplete. It fails to address critical aspects like what the tool returns, error conditions, or the implications of making a DELETE request, leaving the agent with insufficient context for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds no additional meaning beyond what's in the schema, such as explaining parameter interactions or usage examples. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Make a DELETE HTTP request') which is specific and unambiguous. It distinguishes from siblings like 'get', 'post', and 'put' by specifying the HTTP method. However, it doesn't explicitly mention what resource it operates on beyond the URL parameter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'post' or 'put', nor does it mention any prerequisites or context for making DELETE requests. It lacks explicit when/when-not instructions or references to sibling tools for different operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getC
Make a GET HTTP request
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to make the GET request to | |
| headers | No | Optional headers to include in the request | |
| auth | No | Optional auth configuration to load a stored bearer token |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the action but fails to disclose behavioral traits like error handling, response format, rate limits, or authentication requirements (though 'auth' parameter hints at this). For a tool with no annotations, this leaves significant gaps in understanding its operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste, front-loading the core purpose. It's appropriately sized for a simple tool, making every word count without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a tool that performs HTTP requests (which can have complex behaviors like errors, timeouts, or response parsing), the description is inadequate. It doesn't explain return values, error cases, or operational context, leaving the agent with insufficient information for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents the three parameters (url, headers, auth). The description adds no meaning beyond what the schema provides, such as usage examples or constraints. Baseline 3 is appropriate as the schema handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Make a GET HTTP request' clearly states the verb ('Make') and resource ('GET HTTP request'), specifying the HTTP method. However, it doesn't distinguish this from sibling tools like 'post' or 'put' beyond the method name, missing explicit differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'post' or 'put', nor does it mention prerequisites such as authentication needs or context for HTTP requests. It lacks explicit when/when-not instructions or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_userC
List stored users and tokens from a token store
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | Folder where the token file is stored | |
| file | No | Optional token file name (default: tokens.json) | |
| titlesOnly | No | Return only user titles instead of full token entries |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions 'List stored users and tokens' but doesn't disclose behavioral traits such as whether this is a read-only operation, potential side effects, error handling, or output format. This leaves significant gaps for a tool that interacts with a token store.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It is appropriately sized and front-loaded, making it easy to understand at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., list format, token details) or address potential complexities like error cases or permissions needed for accessing the token store, leaving the agent with insufficient context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so parameters are well-documented there. The description adds no additional meaning beyond the schema, such as explaining the relationship between 'folder' and 'file' or the implications of 'titlesOnly'. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and resource ('stored users and tokens from a token store'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get' or 'clear_user', which could also involve user/token operations, so it misses the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get' or 'clear_user', nor does it mention any prerequisites or context for usage. It simply states what the tool does without indicating appropriate scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
postC
Make a pOST HTTP request
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to make the POST request to | |
| headers | No | Optional headers to include in the request | |
| body | No | The request body (JSON object, string, etc.) | |
| requestType | No | Request type: 'json' for JSON data, 'form-data' for form data with file uploads | |
| fieldFiles | No | Array of field names that should be treated as files. Values can be URLs (http/https) for remote files or local file paths for local files. The system will automatically download remote files or read local files and include them as file attachments in the form data. | |
| auth | No | Optional auth configuration to load a stored bearer token |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but offers minimal information. It mentions making a POST request but doesn't describe key traits like error handling, response format, rate limits, or authentication requirements (though the 'auth' parameter hints at token usage). This leaves significant gaps for an agent to understand how the tool behaves in practice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise ('Make a pOST HTTP request'), which is efficient and front-loaded. However, it's overly brief for a tool with 6 parameters and complex functionality like file uploads and authentication, potentially under-specifying rather than being optimally concise. It earns a 4 for zero waste but lacks necessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, nested objects, no output schema, and no annotations), the description is incomplete. It doesn't explain what the tool returns, error conditions, or how it integrates with sibling tools. For a general-purpose HTTP tool with rich input options, more context is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter semantics beyond what the input schema provides. Since schema description coverage is 100%, the schema already documents all parameters thoroughly (e.g., 'url' as the target URL, 'requestType' with enums). The baseline score of 3 reflects adequate coverage by the schema alone, with no additional value from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Make a pOST HTTP request' states the basic action (make a POST request) but is vague about scope and differentiation. It doesn't specify what resources or endpoints it targets, nor how it differs from sibling tools like 'put' or 'delete' beyond the HTTP method. The purpose is clear at a high level but lacks specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description doesn't mention when POST is appropriate (e.g., for creating resources, submitting data) compared to other HTTP methods like GET or PUT, or other tools like 'auth_login'. There's no context on prerequisites, such as authentication needs, leaving usage unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
putC
Make a PUT HTTP request
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to make the PUT request to | |
| headers | No | Optional headers to include in the request | |
| body | No | The request body (JSON object, string, etc.) | |
| requestType | No | Request type: 'json' for JSON data, 'form-data' for form data with file uploads | |
| fieldFiles | No | Array of field names that should be treated as files. Values can be URLs (http/https) for remote files or local file paths for local files. The system will automatically download remote files or read local files and include them as file attachments in the form data. | |
| auth | No | Optional auth configuration to load a stored bearer token |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but only states the basic action. It doesn't cover critical aspects like authentication requirements (implied by the auth parameter but not explained), rate limits, error handling, or what the tool returns (no output schema). This leaves significant gaps for a tool that performs HTTP operations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with zero waste—it directly states the tool's function without unnecessary elaboration. It's appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a 6-parameter HTTP tool with no annotations and no output schema, the description is insufficient. It doesn't explain return values, error cases, or behavioral traits like idempotency, leaving the agent with incomplete context for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 6 parameters. The description adds no additional meaning beyond what's in the schema, such as explaining parameter interactions (e.g., how requestType affects body handling) or providing examples. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Make a PUT HTTP request' clearly states the action (PUT request) and resource (HTTP endpoint), distinguishing it from sibling tools like get, post, and delete. However, it doesn't explicitly differentiate from other HTTP methods beyond the name, missing a brief mention of PUT's idempotent nature or typical use cases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like post or delete, or in what contexts PUT requests are appropriate (e.g., updating resources, idempotent operations). The description lacks any usage context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
7 tool updates
- First observed
auth_login - First observed
clear_user - First observed
delete - First observed
get - First observed
list_user - First observed
post - First observed
put
TDQS
The HTTP methods (get, post, put, delete) are clearly distinct, but auth_login and clear_user/list_user overlap in user/token management, which could cause confusion. The descriptions help clarify, but there is some functional overlap in the authentication tools.
The HTTP methods use simple verbs (get, post, put, delete), while the user/token tools use verb_noun patterns (auth_login, clear_user, list_user). This mixed convention is readable but inconsistent, with no uniform pattern across all tools.
With 7 tools, the count is well-scoped for an API server covering core HTTP operations and basic authentication management. Each tool has a clear purpose, and the number is neither too sparse nor excessive for the domain.
The toolset covers essential HTTP methods (GET, POST, PUT, DELETE) and basic authentication lifecycle (login, list, clear), but lacks advanced features like token refresh or error handling. Minor gaps exist, but agents can work around them for most API interactions.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Google Keep-style notes app with an MCP server for AI agents to read/write notes.
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
An MCP server that used to create notes
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseBqualityDmaintenanceA TypeScript-based MCP server that implements a simple notes system, allowing users to create, access, and generate summaries of text notes.121,0283MIT
- FlicenseBqualityDmaintenanceA TypeScript-based MCP server that implements a simple notes system, allowing users to create, access, and generate summaries of text notes.23-
- AlicenseAqualityFmaintenanceA TypeScript-based MCP server that implements a simple notes system, allowing users to create, access, and generate summaries of text notes via URIs and tools.12188MIT
- FlicenseNot gradedqualityDmaintenanceA TypeScript-based MCP server that implements a simple notes system with resources, tools for creating notes, and prompts for summarization.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/vilasone455/api-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server