TokenHub MCP
Allows performing web searches using the Brave Search API, returning cited results.
Provides web search capability using DuckDuckGo (no API key needed), returning search results.
Provides git operations such as status, diff, log, commit, and branch within the configured workspace.
Allows retrieving repository summaries, issues, pull requests, and workflow runs from GitHub.
Fetches npm registry metadata, latest version, documentation, repository info, and releases for a given package.
Summarizes and clusters Sentry issues, providing impact analysis.
Inspects SQLite database schema and runs safe SELECT queries on a provided base64-encoded database.
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., "@TokenHub MCPAnalyze the repository and give me an architectural overview."
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.
TokenHub MCP
TokenHub MCP is a production-packaged Model Context Protocol server for coding agents. It keeps the always-loaded MCP surface small, then routes larger file, git, web, database, package, browser, GitHub, and Sentry work through token-budgeted tools, workflows, and tokenhub://resource/... artifacts.
Install
Run without installing:
npx tokenhub-mcp --root /path/to/workspaceInstall globally:
npm install -g tokenhub-mcp
tokenhub-mcp --root /path/to/workspaceFor local development from this repository:
npm install
npm run build
node dist/cli.js --root /path/to/workspaceWhen serving the repository root itself during local development:
node dist/cli.js --root .Related MCP server: MCP Server
Quick Start
Start TokenHub with a workspace root that should bound filesystem and git operations:
npx tokenhub-mcp --root /path/to/workspaceThen call the public MCP tool run_workflow with an advertised workflow capability:
{
"name": "resolve_request",
"request": "Inspect this repository and summarize the main architecture, runtime stack, and entry points.",
"depth": "standard",
"evidence": "resource_links",
"execution": "answer_only"
}Large or raw outputs are returned as redacted tokenhub://resource/... handles. Use read_resource to expand snippets, ranges, or full resource content.
Documentation
The README is the quick production reference. The full project docs live under docs/:
Document | Purpose |
Navigation for operators, contributors, and release owners. | |
Runtime layout, tool surface, workflows, resources, and package boundaries. | |
CLI flags, MCP client setup, provider inputs, and environment variables. | |
Install, run, validate, smoke test, troubleshoot, and maintain the service. | |
Workspace confinement, mutation opt-in, credential handling, and network boundaries. | |
Release checklist, verification evidence, npm packaging contract, and rollback notes. |
Public release support files:
CHANGELOG.md records user-facing changes by version.
CONTRIBUTING.md explains local setup, testing, and contribution expectations.
SECURITY.md explains how to report vulnerabilities and what versions are supported.
CODE_OF_CONDUCT.md sets the baseline for community behavior.
MCP Client Configuration
Local package execution with npx:
{
"mcpServers": {
"tokenhub": {
"command": "npx",
"args": ["tokenhub-mcp", "--root", "/path/to/workspace"]
}
}
}Global install:
{
"mcpServers": {
"tokenhub": {
"command": "tokenhub-mcp",
"args": ["--root", "/path/to/workspace"]
}
}
}On Windows, quote paths in your MCP client JSON as a single JSON string, for example "C:\\Users\\you\\project".
Tools
TokenHub exposes exactly six public MCP tools:
Tool | Production status | Purpose |
| Production | Finds deferred internal capabilities without loading every schema into the client context. |
| Production | Runs server-side workflows such as |
| Production | Retrieves token-budgeted context from runtime sources including files, git, web pages, search, databases, GitHub, npm docs, Sentry, and browser state. |
| Production | Reads a |
| Production | Stores caller-provided logs, snapshots, or state summaries as resource artifacts. |
| Production | Estimates tool cost, saved tokens, and whether the operation clears the default ROI threshold. |
The user-facing advertised capabilities in this README are resolve_request, answer_from_web, web_fetch, web_search, filesystem, and git. Those are not separate top-level MCP tools; they are workflows or retrieval capabilities reached through the six public tools above.
Workflows
Workflow | Invoke through | Behavior |
|
| Infers intent, source strategy, output shape, depth, evidence mode, and execution mode from a natural-language request. It supports |
|
| Searches the web, fetches source pages, extracts clean text, and returns cited ranked-list or summary answers with source resource links. |
|
| Runs allowlisted validation commands ( |
|
| Lists a workspace tree by default. Write, move, and delete require the service process to be started with |
|
| Runs bounded git status, diff, show, stage, commit, or branch operations inside the configured workspace. |
|
| Combines git summary and filesystem search into compact project context. |
Example web answer:
{
"name": "answer_from_web",
"query": "top 10 healthiest vegetables",
"target": "ranked_list",
"limit": 10,
"sourceLimit": 5
}Validation example:
{
"name": "validate",
"command": "npm",
"args": ["test"]
}Unsupported workflow modes, including execution: "implement" and execution: "implement_and_verify" for resolve_request, return explicit errors rather than claiming a mutation happened.
Retrieval Sources
retrieve_context.source uses the runtime names shown below. The docs also name friendly advertised sources where they differ.
Documented source | Runtime source | Required configuration | Supported operations | Optional-provider errors |
|
|
| Search workspace files, return redacted snippets and resource links | Missing matches return empty results; workspace escape attempts are rejected. |
|
|
| Summarize status, recent commits, diff stats, and raw log resource | Non-repositories return warnings instead of raw git floods. |
|
|
| Fetch and scrape one web page with timeout and optional raw resource | Missing |
|
|
| Search Brave, Exa, Tavily, SerpAPI, or no-key DuckDuckGo fallback | Provider-specific modes error when the required API key is absent. |
|
|
| Summarize repo, issues, PRs, and workflow runs | Missing owner/repo errors; private or rate-limited repos need a token. |
|
|
| Inspect schema and safe | Missing database bytes errors; non-SELECT queries return warnings and no rows. |
|
|
| Inspect public schema and safe | Missing connection string errors; auth/network failures come from |
|
|
| Fetch npm registry metadata, latest version, docs, repository, and releases link | Missing package/query errors; registry HTTP failures include status. |
|
|
| Summarize and cluster issue impact | Missing issues or organization/token errors; Sentry API HTTP failures include status. |
|
|
| Capture title, headings, links, form controls, console errors, failed requests, and optional screenshot | Missing URL errors; navigation timeout is currently 20000ms. |
Environment Variables
Variable | Used for |
| Selects Brave as the default |
| Selects Exa as the default search provider when Brave is not set. |
| Selects Tavily as the default search provider when Brave and Exa are not set. |
| Selects SerpAPI as the default search provider when the other keyed providers are not set. |
| When set to |
| When set to |
GitHub tokens are supplied as retrieve_context input token; there is no dedicated GitHub environment variable in the runtime. Sentry tokens are supplied as token, Postgres uses connectionString, npm registry lookup uses the public registry URL, and browser capture uses local Playwright without a credential variable. Network timeouts are currently fixed in code: web fetch and DuckDuckGo search use 5000ms, browser navigation uses 20000ms, git commands use 10000ms, and validation commands use 120000ms.
Security Notes
TokenHub confines filesystem paths to the configured --root workspace and rejects path escapes, including symlink-realpath escapes for mutation targets. File snippets and stored file resources redact secret-looking values before model-facing output.
File deletion and mutation are opt-in. filesystem_action tree is available by default, but write, move, and delete require TOKENHUB_ENABLE_FS_MUTATIONS=true on the TokenHub process; use it only in trusted local workspaces.
Git operations run in the workspace and can stage, commit, or branch when explicitly requested through git_action. Review paths and messages before allowing agent-driven git changes.
Network fetches, search providers, GitHub, npm, Sentry, Postgres, and browser capture can contact external services. Web and browser retrieval reject localhost, private LAN, metadata, and unverified DNS targets by default; set TOKENHUB_ALLOW_PRIVATE_NETWORK=true only for trusted local network debugging. Treat URLs, credentials, connection strings, and returned third-party content as sensitive. Do not place secrets in prompts when they can be passed as tool input, and prefer resource links over copying raw logs into chat.
read_resource can expand redacted resources; screenshots may still contain visible secrets from the captured page. Share resource URIs only with clients that should have access to the workspace resource store.
Troubleshooting
Symptom | Fix |
Missing search credentials | Use no-key DuckDuckGo fallback by omitting |
GitHub, Sentry, or Postgres credential errors | Pass |
Blocked network or provider timeout | Check outbound HTTPS access to the provider URL. Web fetch/search timeouts are currently fixed at 5000ms. |
Package install issues | Use Node 20 or newer, then retry |
Windows path quoting | In MCP JSON, write paths as one escaped string such as |
Unsupported workflow mode | Use |
Filesystem mutation blocked | Restart TokenHub with |
Release Verification
Run the production release gate:
npm run verify:releaseThe script expands to:
npm run lint
npm test
npm run build
npm run eval:resolve-request
npm run eval:resolve-request:live
npm pack --dry-run
npm run smoke:installEval artifacts are written under artifacts/evals. The live eval uses live DuckDuckGo search and page fetches, so failures can reflect network or provider volatility.
Available Tools
6 toolscapture_stateCapture stateC
Store logs, snapshots, or state summaries as resource-linked artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | ||
| label | No |
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. It implies a write operation ('Store') but does not mention side effects, required permissions, how artifacts are linked, or any return behavior. This is a significant gap for a tool with no annotation support.
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, direct sentence that conveys the core purpose without extraneous words. It is front-loaded with the verb and object, 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 tool's moderate complexity (two optional params, no output schema, no annotations), the description is too brief to be complete. It lacks details on what 'resource-linked artifacts' means, how to use the parameters, and when this tool should be invoked relative to siblings. The minimalism leaves critical gaps for correct usage.
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 two properties (text, label) with no descriptions, and the schema description coverage is 0%. The description does not explain the meaning or purpose of these parameters, nor does it compensate for the schema's lack of detail. An agent cannot infer how to fill these fields correctly.
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 identifies the action (Store) and the resources (logs, snapshots, state summaries) as resource-linked artifacts. It is specific enough to convey the tool's role, though it does not explicitly contrast with sibling tools like retrieve_context or read_resource.
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. There is no mention of context, prerequisites, or exclusions, leaving the agent to infer usage solely from the terse action statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discover_capabilitiesDiscover capabilitiesA
Find compact internal developer capabilities without loading their full schemas.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the transparency burden. It states the tool finds compact capabilities without loading full schemas, implying a lightweight, likely read-only operation, but it does not disclose other behavioral traits such as authentication, rate limits, or side effects. The description adds some context but not rich detail.
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, front-loaded sentence that directly states the tool's purpose and key limitation. Every word earns its place with no superfluous information, 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?
For a simple discovery tool with two parameters and no output schema, the description gives the core concept but omits practical invocation details like what to use for 'query' or how 'limit' affects results. It is adequate for understanding the tool's high-level function but not fully complete for confident correct usage.
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 a 0% description coverage, and the description does not mention the 'query' or 'limit' parameters at all. While the schema defines 'query' as a required string and 'limit' as an optional integer, the description provides no guidance on how to use them, leaving the agent to infer their meaning from names only.
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 uses the specific verb 'Find' with a clear resource ('compact internal developer capabilities') and adds a distinguishing clause 'without loading their full schemas', which sets it apart from the sibling tools. It clearly communicates what the tool does and its unique value.
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 clearly implies the usage context: when you need to discover internal capabilities quickly and do not need full schema details. While it does not explicitly list alternatives or when-not-to-use, the context is unambiguous and the tool's purpose is distinct from its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_costEstimate costB
Estimate tool cost and token savings before an expensive call.
| Name | Required | Description | Default |
|---|---|---|---|
| operation | Yes | ||
| expectedInputTokens | No | ||
| expectedOutputTokens | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It implies a safe, pre-execution estimation but does not explicitly state whether the tool is read-only, whether it consumes tokens, or what side effects (if any) it has. This is a significant gap for a tool that might be expected to only compute estimates.
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, concise sentence that immediately states the tool's purpose and timing. It is front-loaded and contains no unnecessary words.
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, output schema, and parameter descriptions, the description is incomplete. It does not explain what inputs are needed (especially 'operation'), what the output looks like, or any important behavioral details. A user would need additional information to use the tool correctly.
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 0%, and the description provides no parameter information. The parameter names 'expectedInputTokens' and 'expectedOutputTokens' are somewhat self-explanatory, but 'operation' is ambiguous and could refer to many things. The description does not compensate for the missing schema descriptions.
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: estimating tool cost and token savings. It uses a specific verb ('estimate') and resource ('tool cost and token savings'), and it includes a temporal context ('before an expensive call') that distinguishes it from sibling tools like run_workflow or read_resource.
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 gives a clear usage context: use before an expensive call. However, it does not explicitly mention when not to use it or name alternatives, though the context is enough to infer its role relative to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_resourceRead resourceB
Progressively read a TokenHub resource by snippet, line range, or full content.
| Name | Required | Description | Default |
|---|---|---|---|
| uri | Yes | ||
| mode | No | ||
| endLine | No | ||
| startLine | No | ||
| budgetTokens | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It mentions 'progressively read' and modes but does not disclose details about return format, how budgetTokens affects output, whether partial reads have side effects, or any permissions/rate limits. The behavioral traits are only superficially hinted at.
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, concise sentence that front-loads the core purpose and enumerates the main modes. Every word contributes, with no filler or repetition.
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?
For a tool with 5 parameters, no output schema, and no annotations, the description is too brief. It omits critical information about how the modes work, what the response contains, how budgetTokens influences behavior, and any prerequisites. The tool is more complex than the description addresses.
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 0%, so the description must compensate. It explains the 'mode' parameter by listing snippet, line range, and full content, and 'line range' loosely implies startLine/endLine. However, it does not clarify 'uri' or 'budgetTokens', leaving most parameters semantically underdefined.
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 function: progressively reading a TokenHub resource. It specifies the resource type (TokenHub resource) and the available methods (snippet, line range, full content), which distinguishes it from sibling tools like discover_capabilities or run_workflow.
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 implies usage for reading resources, especially large ones, but does not explicitly state when to choose this tool over alternatives or when not to use it. The phrase 'progressively read' suggests incremental reading but lacks explicit guidance on selecting modes or comparing with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieve_contextRetrieve contextC
Token-budgeted retrieval across files, Git state, and web pages.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| repo | No | ||
| limit | No | ||
| owner | No | ||
| query | No | ||
| token | No | ||
| apiKey | No | ||
| issues | No | ||
| source | Yes | ||
| project | No | ||
| provider | No | ||
| includeRaw | No | ||
| returnMode | No | ||
| packageName | No | ||
| budgetTokens | No | ||
| organization | No | ||
| databaseBase64 | No | ||
| connectionString | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of disclosing behavior. It mentions 'token-budgeted' which hints at output limits, but it doesn't disclose authorization needs, rate limits, whether the tool modifies anything, or how results are returned. This is a significant gap for a tool with many sources and parameters.
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 focused sentence with no fluff or repetition. It is concise and front-loaded, stating the core purpose immediately. 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 the tool's complexity (18 parameters, 10 source types, no annotations, no output schema), the description is severely incomplete. It fails to explain the variety of sources, expected behaviors, return formats, or how to construct valid invocations. This one-sentence description is inadequate for the tool's actual scope.
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 0% description coverage, and the description adds no information about how parameters like source, url, repo, query, or databaseBase64 should be used. The agent has to rely on parameter names alone, which is insufficient for 18 parameters with unclear relationships (e.g., how provider relates to source or when token is needed).
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 performs retrieval ('retrieval') across multiple resource types ('files, Git state, and web pages'), which conveys the core purpose. However, it doesn't explicitly distinguish from sibling tools like read_resource, and it omits several source types listed in the schema (e.g., github, sqlite, postgres, sentry), so it's not fully specific.
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 when-to-use guidance is provided. The description doesn't explain in which scenarios to prefer this tool over alternatives, nor does it mention any prerequisites or exclusions. The phrase 'token-budgeted' implies a use case but is not explicit enough to count as clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_workflowRun workflowD
Batch a common developer workflow server-side and return summaries plus resource links.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | ||
| args | No | ||
| name | Yes | ||
| path | No | ||
| depth | No | ||
| limit | No | ||
| paths | No | ||
| query | No | ||
| action | No | ||
| apiKey | No | ||
| branch | No | ||
| target | No | ||
| command | No | ||
| content | No | ||
| message | No | ||
| request | No | ||
| evidence | No | ||
| provider | No | ||
| execution | No | ||
| includeRaw | No | ||
| destination | No | ||
| outputShape | No | ||
| sourceLimit | No | ||
| budgetTokens | No |
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 only says it returns summaries plus resource links, but it does not disclose potential side effects, whether it executes commands, changes state, or requires permissions. The term 'batch' hints at bulk processing but offers no clarity on behavioral implications.
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 sentence with no filler, front-loading the action ('Batch...'). It is efficiently structured, though the brevity comes at the cost of clarity. Still, as far as conciseness goes, 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 the high complexity (24 parameters), no output schema, and no annotations, the one-line description is completely inadequate. It fails to define what a workflow is, how it is specified, what inputs are required, or what the returned summaries and resource links look like.
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 0%, and the description provides no parameter explanations at all. With 24 parameters and numerous enums (depth, target, evidence, provider, execution, outputShape), an agent has no help understanding what parameters like 'ref', 'args', 'query', or 'budgetTokens' mean. This is a critical gap.
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 uses a verb ('Batch'), a resource ('common developer workflow'), and an output ('summaries plus resource links'), which gives some sense of purpose. However, 'common developer workflow' is vague and doesn't specify what workflow or how it is invoked. It doesn't effectively distinguish from siblings like discover_capabilities or read_resource beyond the generic 'workflow' concept.
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?
There is no guidance on when to use this tool versus alternatives, no prerequisites mentioned, and no exclusions or context provided. The description doesn't help an agent decide between run_workflow and other sibling tools.
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.
6 tool updates
v0.1.0- First observed
capture_state - First observed
discover_capabilities - First observed
estimate_cost - First observed
read_resource - First observed
retrieve_context - First observed
run_workflow
TDQS
Each tool targets a distinct operation: discovery, workflow execution, state capture, context retrieval, resource reading, and cost estimation. The only slight potential confusion is between retrieve_context and read_resource, but their descriptions clearly separate broad retrieval from specific resource access.
All tool names follow a consistent verb_noun pattern with snake_case (discover_capabilities, run_workflow, capture_state, retrieve_context, read_resource, estimate_cost). This uniformity makes the tool set predictable and easy to navigate.
With 6 tools, the server is well-scoped for a context and resource management purpose. Each tool serves a clear function without redundancy, fitting comfortably within the ideal 3-15 tool range.
The set covers core operations for managing context and resources: discovery, execution, saving, retrieval, reading, and cost estimation. Minor gaps include no explicit update/delete operation for saved states or resources, but these may not be essential given the server's focus.
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
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
The Mercado Pago MCP Server implements the Model Context Protocol to provide AI agents and LLMs with access to Mercado Pago's APIs and tools within compatible development environments. It acts as an intermediary that translates Mercado Pago resources into executable functions (tools) that AI applications can invoke to perform actions and automate flows. The server simplifies integration, enables using documentation to implement or improve code, and optimizes operations through natural language interactions without manual implementations.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA comprehensive Model Context Protocol server implementation that enables AI assistants to interact with file systems, databases, GitHub repositories, web resources, and system tools while maintaining security and control.812MIT
- FlicenseNot gradedqualityCmaintenanceA secure Model Context Protocol server providing HTTP endpoints for AI agent tool execution, including file system operations, shell commands, and LLM-based code generation.1-
- AlicenseBqualityCmaintenanceProduction-grade, autonomous Model Context Protocol (MCP) server that elevates AI models from stateless code generators into persistent, self-verifying software engineers.211MIT
- AlicenseNot gradedqualityAmaintenanceProduction-ready MCP server providing RAG, hierarchical memory, and 8+ tools for AI agents via the Model Context Protocol.41Apache 2.0
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/Gravitied/tokenhub'
If you have feedback or need assistance with the MCP directory API, please join our Discord server