Skip to main content
Glama

RoxyAPI Docs MCP Server (keyless, for coding agents)

Server Details

Keyless docs search so coding agents wire up RoxyAPI: every endpoint, param and SDK call.

Ownership verified
Status
Healthy
Uptime
100.0% over 42 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.6/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of overlapping purposes or misselection. The tool's purpose is clearly defined as documentation search.

Naming Consistency5/5

The single tool name 'search_docs' follows a clear verb_noun pattern, which is consistent and descriptive. There are no other names to create inconsistency.

Tool Count3/5

A single tool for a documentation server feels thin, though it may be intentional if search is the only entry point needed. It sits at the borderline of 'too few' but is not an extreme mismatch.

Completeness4/5

The search tool covers a broad range of documentation topics including endpoints, SDKs, authentication, and guides. However, it only returns snippets and does not provide a way to fetch full content or list available docs, which is a minor gap.

Available Tools

1 tool
search_docsA
Read-only
Inspect

Search the RoxyAPI knowledge base and get back ranked documentation snippets, each with a source URL. It covers API endpoints with their request and response fields, SDK usage for TypeScript, Python, PHP, C#, and Go, the WordPress plugin, authentication and API keys, UI components, and step by step integration guides. Call this first whenever you need to integrate RoxyAPI into an app: to find which endpoint or SDK method to use, what parameters a call takes, how to authenticate, or how to wire a feature end to end. Pass the user question verbatim as query. If the first results miss, rephrase once and retry.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax hits to return. Default 10, capped at 25.
queryYesUser question or keywords. Free text. The whole question works better than guessed keywords.
compactNoSet true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.

Output Schema

ParametersJSON Schema
NameRequiredDescription
hitsYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true and destructiveHint=false, so the safety profile is already known. The description goes beyond annotations by explaining ranking with source URLs, the coverage breadth, and the recommendation to pass the user question verbatim and retry rephrased. This gives an agent a clear mental model of behavior.

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?

The description is somewhat long but front-loads the core purpose and output in the first sentence. The enumerated coverage list and usage guidance are relevant, though the list of SDK languages could be considered slightly verbose; still, every sentence contributes to call decisions.

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?

With an output schema present, the return format is already specified. The description covers why to use the tool, what it searches, how to pass the query, and how to recover from poor results. All three parameters are fully documented in the schema, so nothing essential is missing for correct invocation.

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 description coverage is 100%, with good parameter descriptions for query, limit, and compact. The description adds operational guidance on top: 'Pass the user question verbatim as `query`' and the retry instruction, which is useful. Since the schema already carries the syntactic meaning, a 4 is appropriate.

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 ('Search'), identifies a clear resource ('RoxyAPI knowledge base'), and states the output ('ranked documentation snippets, each with a source URL'). It also enumerates the content areas covered (API endpoints, SDKs, WordPress plugin, auth, UI components, integration guides), so an agent knows exactly what this tool searches though.

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?

Explicitly instructs to 'Call this first whenever you need to integrate RoxyAPI into an app' and lists concrete trigger scenarios: finding endpoints or SDK methods, parameter details, authentication, and feature wiring. It also gives a retry strategy ('If the first results miss, rephrase once and retry'), which is actionable guidance.

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.

  1. 1 tool update
    • Changedsearch_docs1 field changed
      • changedOutput schema / properties / hits / items / properties / source_type / enum
        Previous value: -[
        -  "guide",
        -  "agents",
        -  "template",
        -  "openapi"
        -]New value: +[
        +  "guide",
        +  "agents",
        +  "template",
        +  "openapi",
        +  "component"
        +]
  2. 1 tool update
    • Changedsearch_docs1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "hits": {
        +      "items": {
        +        "properties": {
        +          "rank": {
        +            "type": "number"
        +          },
        +          "snippet": {
        +            "type": "string"
        +          },
        +          "source_type": {
        +            "enum": [
        +              "guide",
        +              "agents",
        +              "template",
        +              "openapi"
        +            ],
        +            "type": "string"
        +          },
        +          "title": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "title",
        +          "url",
        +          "snippet",
        +          "source_type",
        +          "rank"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "hits"
        +  ],
        +  "type": "object"
        +}
  3. 1 tool update
    • Changedsearch_docs2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "query": "how do I authenticate an API request"
        +  }
        +]
      • changedInput schema / properties / compact / description
        Previous value: -"Set true to receive the exact same data in a token-optimized shape that is cheaper for you to read: whitespace is stripped and every array of same-shaped objects is encoded columnar as {\"__cols\":[field names],\"__rows\":[[values]]}, so each field name is sent once instead of once per row. Fully lossless (no field or value is dropped or changed) and typically 40 to 52 percent fewer tokens on large results. Prefer true whenever token or inference cost matters. Default false returns standard indented JSON."New value: +"Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {\"__cols\":[names],\"__rows\":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens."
  4. 1 tool update
    • Changedsearch_docs1 field changed
      • changedInput schema / properties / compact / description
        Previous value: -"Return the same data in a token-optimized compact shape (minified, with same-shaped arrays encoded columnar) to reduce LLM token cost. Lossless: no fields are dropped. Default false."New value: +"Set true to receive the exact same data in a token-optimized shape that is cheaper for you to read: whitespace is stripped and every array of same-shaped objects is encoded columnar as {\"__cols\":[field names],\"__rows\":[[values]]}, so each field name is sent once instead of once per row. Fully lossless (no field or value is dropped or changed) and typically 40 to 52 percent fewer tokens on large results. Prefer true whenever token or inference cost matters. Default false returns standard indented JSON."
  5. 1 tool update
    • Changedsearch_docs1 field changed
      • addedInput schema / properties / compact
        Added value: +{
        +  "default": false,
        +  "description": "Return the same data in a token-optimized compact shape (minified, with same-shaped arrays encoded columnar) to reduce LLM token cost. Lossless: no fields are dropped. Default false.",
        +  "type": "boolean"
        +}
  6. 1 tool update
    • First observedsearch_docs

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources