aiaam
Server Details
MAI-1 registry: search 100+ verified AI tool contracts with live reliability scores in one call.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.4/5 across 6 of 6 tools scored. Lowest: 3.9/5.
Each tool has a clearly distinct purpose: compiling specs, contributing tools, retrieving manifests, getting tool contracts, trending, and searching. No overlapping functionality.
All tool names follow a consistent verb_noun snake_case pattern (e.g., compile_api, get_tool, search_tools), making them predictable.
With 6 tools, the set is well-scoped for managing a catalog of API manifests and tool contracts, covering creation, retrieval, search, and discovery.
Core operations are covered, but there is slight ambiguity about polling compilation results and no update/delete tools. Still, the surface is largely complete for the domain.
Available Tools
6 toolscompile_apiAInspect
Compiles a public OpenAPI/Swagger spec URL into a compact MAI-API manifest. Requires a valid API key (X-Api-Key). Without a key, only specs from apis.guru or raw.githubusercontent.com are accepted. Returns immediately with a status_url to poll for the result (~15 seconds). Use get_api_manifest to fetch the result once ready.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | Optional API key for unrestricted URL access. Without key, only apis.guru and github raw URLs are allowed. | |
| category | No | Category hint: payments, communication, devtools, ai, productivity, security, data, other | other |
| openapi_url | Yes | Public URL of an OpenAPI 3.x or Swagger 2.x JSON/YAML spec. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses auth requirement (X-Api-Key), URL restrictions, immediate return with status_url, and polling workflow. No annotations provided, so description carries full burden and does it well.
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?
Concise, three sentences, front-loaded with action, each sentence adds necessary information without 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?
Adequately describes async nature, auth, and restrictions. No output schema, but references sibling tool for final result. Could mention status_url format but sufficient given complexity.
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 covers all parameters with descriptions (100%). Description adds context about api_key affecting URL restrictions and the async behavior, providing value beyond schema.
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?
Clearly states tool compiles an OpenAPI/Swagger URL into a MAI-API manifest, differentiating from sibling get_api_manifest which fetches the result.
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?
Explains when API key is needed (unrestricted URLs), restrictions without key (apis.guru, raw.githubusercontent.com), and async polling behavior with estimated 15-second wait.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contribute_toolAInspect
Add a missing tool to the aiaam.xyz catalog. Provide its PyPI project or GitHub repo URL; the registry builds an unverified MAI-1 contract from public metadata only (no invented data). Idempotent — if the tool already exists, its current contract is returned. Use this when search_tools returns no results for a library you know exists.
| Name | Required | Description | Default |
|---|---|---|---|
| source_url | Yes | https://pypi.org/project/<pkg> or https://github.com/<owner>/<repo> |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the burden. It discloses key behaviors: the registry builds an unverified MAI-1 contract from public metadata only (no invented data), and the operation is idempotent, returning the current contract if the tool already exists.
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 concise (three sentences) and front-loaded with the main action. Each sentence adds essential information: purpose, behavior, and usage context, with no superfluous 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?
Despite no output schema, the description adequately explains the tool's behavior for its complexity. It covers input, idempotency, what is built, and when to use it, leaving no critical gaps for an agent to invoke 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 coverage is 100% with one parameter. The description reinforces the parameter's purpose and adds context (e.g., 'no invented data'), going beyond the schema's format description. However, the addition is modest, so a slight improvement over baseline is warranted.
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 specific verb 'Add' with a clear resource 'missing tool to the aiaam.xyz catalog'. It distinguishes itself from siblings like search_tools by explicitly stating when to use this tool: when search_tools returns no results for a known library.
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 states when to use the tool: 'Use this when search_tools returns no results for a library you know exists.' It also clarifies idempotent behavior, guiding the agent on expected outcomes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_api_manifestAInspect
Returns a compact MAI-API manifest for a web API service (Stripe, Slack, GitHub, etc.). Each manifest is ~850 tokens and contains the base URL, auth method, and up to 20 key endpoints. Use this instead of fetching and parsing a full OpenAPI spec. Available services include: stripe_api, slack_web_api, github, openai_api, notion_api, jira_cloud_rest_api, gmail_api, google_calendar_api, twilio_api, sendgrid_email_activity_api, spotify_web_api, twitter_api_v2, and 30+ more. Returns {error: not_found} if the service has not been compiled yet.
| Name | Required | Description | Default |
|---|---|---|---|
| service_name | Yes | The service identifier, e.g. 'stripe_api', 'slack_web_api', 'openai_api'. Use underscores, lowercase. Check /llmo-apis for the full list. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses manifest size (~850 tokens), contents (base URL, auth method, up to 20 endpoints), and error case ({error: not_found}). Good transparency 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?
Description is reasonably concise with front-loaded main action. Contains some examples and details, but no redundant sentences. Could be slightly tighter, but still effective.
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, description adequately explains return format (compact manifest with details) and error case. With sibling tools, it's clear this fetches pre-compiled manifests vs compiling new ones. Complete for its purpose.
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 covers 100% of the one parameter. Description adds value by giving examples (e.g., 'stripe_api', 'slack_web_api') and instructing to check /llmo-apis for full list, clarifying format.
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 returns a compact MAI-API manifest for a web API service, with specific verb ('Returns') and resource. It lists example services and distinguishes from siblings like compile_api.
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?
Provides clear context: 'Use this instead of fetching and parsing a full OpenAPI spec.' Lists available services. Does not explicitly mention when not to use or alternatives among siblings, but gives adequate guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_toolAInspect
Returns the complete MAI-1 contract for a specific tool by its AID string (e.g. 'langchain-v1', 'crewai-v1'). Includes reliability_score, latency_ms, install_cmd, execute_cmd, input/output schemas.
| Name | Required | Description | Default |
|---|---|---|---|
| aid | Yes | The tool's unique AID string identifier (e.g. 'langchain-v1') |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It lists key fields returned (reliability_score, latency_ms, install_cmd, execute_cmd, input/output schemas), which is transparent about the output. It does not mention side effects or permissions, but for a read-only retrieval this is acceptable.
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, well-structured sentence. It front-loads the purpose and then lists additional details. Every part is informative 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 tool's simplicity (one parameter, no output schema), the description provides sufficient context about the output fields and parameter format. It covers the essential information an agent needs 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 coverage is 100% for the single parameter 'aid', with a clear description. The description adds value by providing example AID strings ('langchain-v1', 'crewai-v1'), which helps the agent understand the expected format.
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 retrieves the complete MAI-1 contract for a specific tool using its AID string. The verb 'Returns' and resource 'MAI-1 contract' are specific, and examples are given. It is distinct from sibling tools which perform compilation, contribution, manifest retrieval, trending, or searching.
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 when you need the full contract for a known AID. Sibling tool names indicate different purposes (compile, contribute, get manifest, get trending, search), providing context. However, no explicit guidance on when not to use or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trendingAInspect
Returns top tools sorted by reliability_score descending. Use to discover the most reliable and actively maintained tools in the catalog.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results to return (default 10, max 20) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses sorting behavior and use case but omits other traits like data freshness, whether it's read-only, or any rate limits. For a simple read operation, this is acceptable but not fully transparent.
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, both essential: one defining the output, one the usage purpose. No redundant or extraneous information.
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 (1 optional param, no output schema), the description covers the core functionality and use case completely. It informs the agent of what to expect and when to 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 coverage is 100%, and the description does not add meaning to the limit parameter beyond the schema's description. Baseline of 3 is appropriate as the schema already documents the parameter adequately.
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 returns top tools sorted by reliability_score descending, with a specific verb and resource. It distinguishes from siblings like get_tool, which returns a single tool, and search_tools, which allows filtering.
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 to use it to discover the most reliable and actively maintained tools, providing clear context. It does not mention when not to use it or compare to alternatives, but the sibling names imply differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_toolsAInspect
Search the aiaam.xyz catalog of 100+ verified MAI-1 tool contracts by capability or name. Returns up to 10 results saving ~85% context tokens vs reading raw GitHub READMEs.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Tool capability or name to search (e.g. 'web scraping', 'langchain') | |
| category | No | Optional: filter by source platform — github | pypi | huggingface | npm |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the return size limit and efficiency benefit but does not explicitly state that the operation is read-only, idempotent, or safe. For a search tool, the implied safety is clear, but explicit confirmation would improve transparency.
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 with no wasted words. First sentence states purpose, second sentence adds value (token savings). Both sentences are relevant 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?
The description mentions the output limit ('up to 10 results') and a broad benefit, but lacks details on output format (e.g., list of names or manifests), pagination, error handling, or prerequisites. Given the absence of an output schema, more completeness would be helpful.
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 baseline is 3. The description adds general context (catalog size, token savings) but no parameter-level details beyond what the schema already provides (e.g., query as 'Tool capability or name' and category as platform filter).
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 action ('Search the aiaam.xyz catalog'), specific criteria ('by capability or name'), and output limit ('up to 10 results'). It distinguishes itself from siblings like get_tool (which likely retrieves a single tool) and get_trending (trending tools).
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 when to use (searching for tools by capability/name) and provides a benefit (saving context tokens vs. raw READMEs). However, it does not explicitly mention when not to use or suggest alternatives like get_tool for detailed info after search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!