unfragile-mcp-server
Query the Unfragile match graph to discover, evaluate, and compare AI artifacts (tools, frameworks, MCP servers, models, etc.) from any AI agent.
search: Find AI tools, frameworks, APIs, MCP servers, and agents by intent (e.g., "best framework for building AI agents").
find_mcps: Discover MCP servers based on capability needs (e.g., "Postgres database access", "Slack messaging").
get_artifact: Retrieve full details and capabilities for a specific artifact by name or slug.
resolve_capability: Translate capability URIs or natural-language needs into ranked trusted artifacts — acts as a capability DNS for agents.
trust_passport: Fetch machine-readable trust evidence including capability URIs, permissions, data access risk, failure modes, and trust scores.
compare: Side-by-side comparison of two AI artifacts on capabilities, pricing, rank, and graph signals.
find_stack: Assemble a complete AI harness stack for a use case (orchestration, tools/MCPs, memory, guardrails, context assembly, evaluation).
feedback: Report success/failure of a recommended tool to improve future graph routing.
subscribe: Set up persistent watches for new artifacts matching a query, with email or webhook notifications.
unsubscribe: Cancel an existing monitoring subscription.
Provides tools to search for and compare CrewAI artifacts, such as MCP servers and capabilities, and obtain trust passports from the Unfragile match graph.
Enables discovery and comparison of LangChain artifacts, including MCP servers, capabilities, and trust passports, via the Unfragile match graph.
Allows querying the Unfragile match graph to find MCP servers for Slack, compare Slack MCP servers, and retrieve trust passports for Slack artifacts.
@unfragile/mcp-server
Query the Unfragile match graph from any AI agent. Find AI artifacts, discover MCP servers, assemble stacks, compare alternatives, and fetch trust passports. Every query feeds the graph.
Unfragile is built for the agent era: humans click links, agents call capabilities. This server gives Claude Code, Cursor, Windsurf, Claude Desktop, and custom MCP clients a runtime discovery and trust layer for AI artifacts.
Install
Claude Code
claude mcp add unfragile -- npx -y @unfragile/mcp-serverClaude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"unfragile": {
"command": "npx",
"args": ["-y", "@unfragile/mcp-server"]
}
}
}Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"unfragile": {
"command": "npx",
"args": ["-y", "@unfragile/mcp-server"]
}
}
}Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"unfragile": {
"command": "npx",
"args": ["-y", "@unfragile/mcp-server"]
}
}
}Related MCP server: NOMIK
Tools
Tool | Description |
| Find AI tools by intent. "best framework for building AI agents" |
| Discover MCP servers by capability. "Postgres + Slack integration" |
| Get full details + capabilities for a specific artifact |
| Resolve a |
| Get machine-readable trust evidence: capability URIs, permissions, data access risk, failure modes |
| Compare two artifacts side-by-side |
| Assemble a complete harness stack for a use case |
| Report success/failure to improve future routing |
| Watch for new artifacts matching a capability need |
| Cancel a monitor |
Examples
Once installed, ask your agent:
"Find me MCP servers for Postgres and Slack"
"Resolve capability://database.postgres.query.readonly"
"What's the best framework for building AI agents?"
"Compare LangChain vs CrewAI"
"Get the trust passport for Cursor"
"I'm building a customer support agent — what tools do I need?"
"Get details on Cursor's capabilities"
How it works
The MCP server calls the Unfragile API under the hood. Search and stack queries become match records in the graph. Trust passport requests use /api/v1/passport/{slug} to return artifact identity, capability URIs, constraints, permissions, data access risk, observed outcomes, and UnfragileRank evidence.
13,160 active AI artifacts. 106,955 capabilities. 24 populated software categories. The match graph for AI.
Environment Variables
Variable | Description | Default |
| API base URL |
|
| API key for higher rate limits | (none) |
License
MIT
Available Tools
10 toolscompareA
Compare two AI artifacts side-by-side. Shows capabilities, pricing, rank, and graph signals for each. Uses search-based lookup (best-effort name matching). Use this when deciding between alternatives.
| Name | Required | Description | Default |
|---|---|---|---|
| artifact_a | Yes | First artifact name (e.g., 'cursor') | |
| artifact_b | Yes | Second artifact name (e.g., 'windsurf') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a key behavior: 'search-based lookup (best-effort name matching).' However, it does not elaborate on what happens when a name is not found, rate limits, or authentication requirements. With no annotations, more detail would be beneficial.
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?
Two short, well-structured sentences with no wasted words. The key information is front-loaded: purpose, output, behavior, and guidance.
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?
The description covers the tool's purpose, behavior, and when to use it. However, it lacks details on the return format, error handling (e.g., if an artifact is not found), and does not mention that there is no output schema. Given the tool's simplicity, it is minimally complete.
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?
Both parameters have descriptions in the schema (100% coverage), so the schema itself provides adequate semantic meaning. The description adds context about the lookup method but does not enhance parameter understanding beyond the schema's examples.
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 specifies the verb ('Compare'), resource ('two AI artifacts side-by-side'), and the specific types of information shown ('capabilities, pricing, rank, and graph signals'). It distinguishes itself from sibling tools like 'search' and 'get_artifact' by focusing on comparison.
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 includes an explicit usage hint: 'Use this when deciding between alternatives.' While this provides clear context, it does not exclude specific scenarios or mention alternative tools (e.g., 'search' for single artifact lookup).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
feedbackA
Report whether a recommended tool worked or not. This closes the learning loop — the Unfragile graph uses this feedback to improve future recommendations. Call this after trying a tool from search results.
| Name | Required | Description | Default |
|---|---|---|---|
| matchRecordId | Yes | Match record ID from search results (shown at the bottom of search output) | |
| outcome | Yes | Did the recommended tool work for your use case? | |
| comment | No | Optional: brief note on why it worked or didn't |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It mentions the feedback loop: 'the Unfragile graph uses this feedback to improve future recommendations.' This adds context but does not explicitly describe side effects or data handling, leaving gaps.
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 three sentences, front-loaded with purpose, then importance, then usage instruction. Every sentence adds value, with no wasted 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 three parameters and no output schema or annotations, the description covers purpose, usage timing, and the feedback loop. It is fairly complete, though it could mention the output or confirm one-way nature.
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 each parameter well. The description adds no additional parameter-specific details beyond the schema. Baseline 3 is appropriate.
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: 'Report whether a recommended tool worked or not.' It uses a specific verb ('report') and resource ('whether a recommended tool worked'). The tool is distinct from siblings like 'search' or 'compare' as it focuses on feedback.
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 explicit context: 'Call this after trying a tool from search results.' This helps the agent know when to use it. However, it does not explicitly state when not to use it or mention alternatives, which would justify a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_mcpsA
Find MCP servers by capability need. Use this when you need to discover MCP servers for specific integrations (e.g., databases, APIs, cloud services). Returns MCP servers ranked by capability match.
| Name | Required | Description | Default |
|---|---|---|---|
| need | Yes | What capability you need (e.g., 'Postgres database access', 'Slack messaging', 'GitHub repository management') | |
| limit | No | Max results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description adds value by stating that results are 'ranked by capability match,' which is not in the schema. It does not disclose any side effects, authentication needs, or rate limits, but for a read-only search tool, this is adequate.
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?
Two sentences, no fluff. The first sentence states the core purpose, the second provides usage context and a key output detail. Every sentence 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?
The description lacks an output schema and does not fully detail the return structure beyond 'MCP servers ranked by capability match.' An agent might need to know what fields each server contains to use the results 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 coverage is 100%, so the description does not need to add much. It restates the 'need' parameter's purpose but does not provide additional semantic meaning beyond what the schema already offers.
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 states it finds MCP servers by capability need, which is a specific verb and resource. It clearly distinguishes from sibling tools like find_stack or search by focusing on capability-based discovery of MCP servers.
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?
Explicitly says 'Use this when you need to discover MCP servers for specific integrations,' providing a clear usage context. However, it does not mention when not to use it or compare with alternatives like search or resolve_capability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_stackB
Assemble a complete AI harness stack for a use case. Given a description of what you're building, returns recommended tools across harness layers: orchestration, tools/MCPs, memory, guardrails, context assembly, and evaluation. This is the key differentiator — Unfragile understands that modern AI systems are composed of 5-15 tools working together.
| Name | Required | Description | Default |
|---|---|---|---|
| description | Yes | What you're building (e.g., 'a customer support agent that connects to our Postgres database and Slack, with memory of past conversations') | |
| focus | No | Stack focus: 'full' = all layers, 'tools-only' = just MCPs and integrations, 'infrastructure' = frameworks and platforms | full |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It only states that the tool returns recommendations, but fails to disclose behavioral traits such as whether it is read-only, requires authentication, or if there are rate limits or side effects.
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 two sentences long, front-loaded with the core purpose, and includes a differentiating statement. Every word earns its place with no redundancy.
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 output schema and annotations, the description adequately summarizes the tool's function but omits details about the output format or any behavioral implications. It is minimally complete for a recommendation tool, but could be improved.
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?
Input schema coverage is 100%, with both parameters well-described in the schema. The description adds no further semantics beyond restating the purpose, so it meets the baseline without adding extra value.
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 assembles a complete AI harness stack for a use case, and highlights its uniqueness as a key differentiator. It distinguishes itself from siblings like find_mcps by emphasizing a holistic view across multiple harness layers.
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 use when building a complete stack, but does not explicitly state when to avoid this tool or compare it directly to alternatives like find_mcps. The presence of a sibling 'find_mcps' suggests a narrower focused tool, but no exclusion is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_artifactA
Get full details and capabilities for a specific AI artifact by name or slug. Uses search-based lookup (best-effort name matching — may return a different artifact for ambiguous names like 'express'). Use this to understand what an artifact can do before adding it to your stack.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Artifact name or slug (e.g., 'cursor', 'langchain', 'claude-code') |
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 discloses that the tool uses search-based lookup with best-effort name matching, which may return a different artifact for ambiguous names. This is key behavioral context beyond the schema.
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 two sentences long, front-loading the core purpose and caveat in the first sentence, and usage guidance in the second. Every sentence contributes meaning; no wasted 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 tool's simplicity (one required parameter, no output schema, no annotations), the description provides adequate context: purpose, behavioral nuance, and usage scenario. It could mention whether the operation is read-only, but the task does not require an exhaustive inventory.
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 coverage is 100% with a single parameter described. The description adds value by explaining the search-based lookup behavior and providing illustrative examples (e.g., 'express'), which helps the agent understand how the parameter is used in practice.
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 it retrieves full details and capabilities for a specific AI artifact by name or slug, which is a specific verb-resource pair. It distinguishes from sibling tools like 'search' and 'find_mcps' which likely have broader scopes.
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 explicit usage guidance: 'Use this to understand what an artifact can do before adding it to your stack.' It also warns about ambiguous names, aiding decision-making. However, it does not explicitly list when not to use or name direct alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_capabilityA
Resolve a capability:// URI or natural-language capability into ranked AI artifacts. This is Unfragile's capability DNS primitive. Use when an agent knows what capability it needs and must choose the safest current artifact at runtime.
| Name | Required | Description | Default |
|---|---|---|---|
| capability | Yes | Capability URI or phrase, e.g. 'capability://database.postgres.query.readonly' or 'read-only Postgres database access' | |
| limit | No | Max resolutions | |
| type | No | Filter by artifact type | |
| risk | No | Risk posture. production/enterprise/strict require stronger quality/status gates. | 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 'resolves into ranked AI artifacts' and 'safest current artifact,' but lacks details on ranking criteria, safety checks, or whether the operation is read-only. Adequate but could be richer.
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?
Two concise sentences, no wasted words. The first sentence defines the primary action, the second provides usage context. Highly efficient.
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?
No output schema is provided, and the description omits details about the return format, ranking logic, or result structure. While the tool's DNS-like nature might justify brevity, additional context on what artifacts are returned would improve completeness.
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 coverage is 100%, and the description adds value by clarifying the capability URI format with an example and explaining the risk parameter's quality gates. This enhances understanding beyond the schema alone.
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 resolves capability:// URIs or natural language into ranked AI artifacts, positioning it as Unfragile's capability DNS primitive. This distinctively differentiates it from sibling tools like search or find_mcps, which focus on discovery.
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 explicitly says 'Use when an agent knows what capability it needs and must choose the safest current artifact at runtime.' This is clear guidance, though it could mention alternatives like find_mcps for broader discovery.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchA
Search the Unfragile match graph for AI tools, frameworks, APIs, MCP servers, agents, and more. Returns ranked results with capability matches and graph signals. Every query feeds the graph.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | What you're looking for (e.g., 'best framework for building AI agents', 'MCP server for database access') | |
| limit | No | Max results to return | |
| type | No | Filter by artifact type |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey all behavioral traits. It mentions that 'every query feeds the graph,' implying a side effect (likely mutating the graph), but does not clarify if this is destructive or requires permissions. The description is vague about the nature of this side effect and lacks details on safety, rate limits, or return structure.
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 only two sentences, front-loading the primary action and output. Every sentence adds value: the first defines what is searched, the second explains the output and a key behavioral note. There is no redundancy or wasted 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 no output schema, the description offers a reasonable summary of return values ('ranked results with capability matches and graph signals'). It also hints at the side effect of feeding the graph. However, it lacks detail on output format or fields, which would be beneficial for agent understanding.
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 covers all parameters with detailed descriptions (100% coverage). The description adds no additional semantic information beyond what the schema provides, so it meets the baseline of 3.
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 searches the Unfragile match graph for a wide range of artifacts, with ranked results. The verb 'Search' and specific resource 'Unfragile match graph' make the purpose unambiguous, and it distinguishes itself from more specific sibling tools like find_mcps or find_stack.
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 does not explicitly state when to use this tool versus alternatives. It is a general search tool, so usage is implied, but no exclusion criteria or guidance on choosing between siblings like 'find_mcps' or 'resolve_capability' is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscribeA
Set up a persistent watch for new AI tools matching a query. Get notified daily when something new appears in the Unfragile graph. Requires at least one notification channel (email or webhook).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | What to watch for (e.g., 'new MCP server for Postgres', 'framework for building AI agents') | |
| type | No | Only watch for this artifact type | |
| No | Email address for notifications | ||
| webhook | No | Webhook URL for notifications (receives POST with new matches) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses persistence, daily frequency, and channel requirements, but does not explain behavior when no new tools are found, or details about subscription lifetime or modification. It is adequate but not exhaustive.
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 consists of two concise sentences with no wasted words. It front-loads the core action and then provides key constraints. Every sentence serves a purpose.
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 output schema and no annotations, the description is fairly complete: it specifies the tool's purpose, prerequisites, and notification cadence. It could be enhanced with details about subscription lifecycle or modification, but is sufficient for an agent to understand the tool's role.
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 coverage is 100%, and the schema already describes all parameters well. The description adds context that at least one notification channel is required, reinforcing the schema. It does not add significant meaning beyond the schema, so a baseline score of 3 is appropriate.
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 specific verbs ('set up a persistent watch') and identifies the resource ('new AI tools matching a query') and context ('Unfragile graph'). It clearly distinguishes from sibling tools like 'unsubscribe' (reverse) and 'search' (one-time).
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 states that daily notifications are sent and that at least one notification channel is required. It provides clear context for when to use the tool, but does not explicitly mention when not to use it or compare to alternatives like 'find_mcps'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trust_passportA
Get the machine-readable trust passport for an AI artifact. Use this before an agent selects a tool, API, MCP server, model, repo, or framework for a task. Returns capability URIs, permissions, data access risk, known failure modes, observed outcomes, and trust score.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Artifact slug (e.g., 'cursor', 'claude-code', 'langchain') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that the tool returns capability URIs, permissions, data access risk, known failure modes, observed outcomes, and trust score. The action 'Get' implies a read-only operation, but no explicit mention of side effects or safety. However, it adds significant value beyond the schema.
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 two concise sentences, front-loaded with the purpose, followed by usage context and output summary. Every sentence is essential, no wasted 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?
For a simple retrieval tool with one parameter and no output schema, the description lists the output fields, providing sufficient context. It could mention error handling or output format, but overall it is complete enough for an agent to understand what to expect.
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 has 100% coverage with a description and example for the 'slug' parameter. The tool description does not add additional semantic context for the parameter beyond the schema, so baseline 3 applies.
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 gets the machine-readable trust passport for an AI artifact, with specific verb 'Get' and resource 'trust passport'. It distinguishes from siblings by explicitly mentioning the use case before selecting a tool, API, etc., which is unique among sibling tools like get_artifact or resolve_capability.
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 states 'Use this before an agent selects a tool, API, MCP server, model, repo, or framework for a task.' This is clear when to use. It does not explicitly exclude alternatives, but the guidance is strong. Lacks explicit when-not but still helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unsubscribeA
Cancel a persistent watch (monitor). Use the monitor ID returned from subscribe.
| Name | Required | Description | Default |
|---|---|---|---|
| monitorId | Yes | Monitor ID from subscribe (e.g., 'mon_...') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. States it cancels a watch but lacks details on effects (e.g., reversibility, permissions). Adequate but minimal.
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?
Two short sentences, direct, no unnecessary words. Efficiently conveys purpose and key usage hint.
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?
Simple tool with one required parameter and no output schema. Description covers what it does and where to get the ID, making it complete for correct 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 covers 100% of parameter with example. Description adds 'Use the monitor ID returned from subscribe' which adds slight context but mostly redundant. Baseline 3 as schema is sufficient.
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?
Description clearly specifies the action 'cancel a persistent watch (monitor)' and distinguishes from sibling 'subscribe' which creates the watch. Verb and resource are 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?
Explicitly instructs to use the monitor ID from subscribe, providing clear source for the parameter. Does not explicitly state when not to use, but context is sufficient for this simple tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: compare artifacts, give feedback, find MCPs, build stacks, get details, resolve capabilities, search, subscribe/unsubscribe, and get trust passports. No two tools overlap in function; descriptions further clarify boundaries.
Tool names consistently use snake_case and descriptive verbs. Most follow a verb_noun pattern (e.g., find_mcps, get_artifact), though a few are single verbs (compare, feedback) or noun_noun (trust_passport). Minor inconsistency but overall predictable.
With 10 tools, the server covers core discovery, comparison, stack building, feedback, and monitoring. The count is well-balanced for the domain—neither sparse nor overwhelming.
The tool surface covers search, comparison, details, trust, stack assembly, MCP discovery, feedback, and subscription management. Minor gaps (e.g., listing all monitors) are non-critical; core workflows are fully supported.
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
AI knowledge graph for architecture, portfolio, and digital strategy management.
Provenance-tagged knowledge graph of AI/ML research: papers, citations, methods, code.
Shared semantic graph for AI reviews, classification and structured memory across AI assistants.
The internet's infrastructure graph for AI agents - 46B nodes and edges, free trial via 2 HTTP calls
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceRAG Knowledge Graph - MCP server providing AI-powered tools and automation by MEOK AI Labs12MIT
- FlicenseNot gradedqualityDmaintenanceAI-native code intelligence graph that builds a persistent knowledge graph of your codebase in Neo4j and exposes it to AI assistants via MCP, enabling contextual code analysis, impact analysis, and dependency tracking.21
- AlicenseAqualityDmaintenanceA cross-project knowledge graph for MCP that maps features across mobile, backend, and admin codebases, giving AI agents full-stack context.16631MIT
- AlicenseAqualityDmaintenanceEnables AI to analyze, query, and manage a graph-based representation of software architecture for impact analysis, dependency tracking, and design.20161AGPL 3.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/Savirinc/unfragile-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server