Skip to main content
Glama

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.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 4.4/5 across 6 of 6 tools scored. Lowest: 3.9/5.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: compiling specs, contributing tools, retrieving manifests, getting tool contracts, trending, and searching. No overlapping functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern (e.g., compile_api, get_tool, search_tools), making them predictable.

Tool Count5/5

With 6 tools, the set is well-scoped for managing a catalog of API manifests and tool contracts, covering creation, retrieval, search, and discovery.

Completeness4/5

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 tools
compile_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoOptional API key for unrestricted URL access. Without key, only apis.guru and github raw URLs are allowed.
categoryNoCategory hint: payments, communication, devtools, ai, productivity, security, data, otherother
openapi_urlYesPublic URL of an OpenAPI 3.x or Swagger 2.x JSON/YAML spec.
Behavior5/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
source_urlYeshttps://pypi.org/project/<pkg> or https://github.com/<owner>/<repo>
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
service_nameYesThe service identifier, e.g. 'stripe_api', 'slack_web_api', 'openai_api'. Use underscores, lowercase. Check /llmo-apis for the full list.
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
aidYesThe tool's unique AID string identifier (e.g. 'langchain-v1')
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesTool capability or name to search (e.g. 'web scraping', 'langchain')
categoryNoOptional: filter by source platform — github | pypi | huggingface | npm
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources