Skip to main content
Glama

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.7.5

  • Disambiguation5/5

    The two tools are completely distinct: math.find handles discovery/inspection/search, while math.run executes a known operation. There is no overlap in functionality, and each tool's purpose is clear and unambiguous.

    Naming Consistency5/5

    Both tools share the 'math.' prefix and follow a consistent verb_noun pattern (find and run). This is predictable and consistent.

    Tool Count3/5

    With only two tools, the count is borderline low, but it's appropriate because the server acts as a gateway: one tool for discovery/inspection and one for execution. Given the design, the count is reasonable, though it feels thin compared to typical servers.

    Completeness4/5

    The two tools cover the full lifecycle: discover operations via math.find and execute via math.run. There are no obvious gaps for a library-access server. A potential minor shortcoming is that the actual operations are not exposed as individual tools, but that is a deliberate design choice.

  • Average 4.8/5 across 2 of 2 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • 41 of 41 community issues answered or closed in the last 6 months
    • 2165 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior4/5

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

    Annotations already indicate readOnly, destructive=false, idempotent. The description adds valuable behavioral details beyond this: 'Ranking is deterministic lexical retrieval; matches are not recommendations' and 'Follow next_cursor with the same search query or browse filters to continue.' It also clarifies that local search is authoritative over internet search. These are useful insights not conveyed by annotations, though it does not cover error scenarios or edge cases.

    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 moderately long but well-structured with bullet points and examples. It opens with the main purpose and then elaborates on each operation. Every sentence contributes useful information, though it could be slightly more concise by trimming redundant phrasing. The examples are helpful and reinforce the text.

    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 presence of an output schema and the complexity of the tool (three distinct operations), the description provides complete guidance. It covers all operations, parameter usage, pagination, and even highlights the non-recommended path ('operation://catalog'). It leaves no ambiguity about what the tool does and how to invoke it, making it fully self-sufficient.

    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?

    The input schema is complex with nested oneOf, but the description explains each operation's parameters: search takes query, domain, limit (1-20, default 5); browse takes domain and limit (default 20); inspect takes operation_id. It explains the cursor usage and gives concrete examples. This adds meaning beyond the schema, which lists defaults and constraints but not the nuanced distinction between operations. It sufficiently compensates for the 0% schema description coverage.

    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 purpose: 'Search, browse, or inspect locally installed Jacobian math tools.' It specifies the exact actions (search, browse, inspect) and the resource (locally installed math tools), and distinguishes itself from internet search by stating it is authoritative for local discovery and exact inspection. This fully differentiates it from any alternative.

    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?

    Explicit guidance is provided: 'Use math.find when a task may benefit from exact computation, search, or structural analysis.' It also contrasts with internet search and clearly explains when to use search vs browse vs inspect, including limits and defaults. It even warns that 'operation://catalog' is not the ordinary discovery path, giving a clear exclusion.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

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

    Despite readOnlyHint=true already signaling safety, the description adds meaningful operational detail: successful calls return operation-owned values in `output`, malformed payloads/unknown IDs/host failures surface as tool errors, and timeout/incomplete-search/missing-witness conditions are domain results rather than mathematical conclusions. No contradiction with annotations.

    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 front-loaded with the core purpose, then adds necessary operational guidance in well-separated paragraphs. Every sentence conveys distinct useful information: execution semantics, error behavior, payload construction, inspection fallback, and domain-result caveats. The included example is compact and illustrative.

    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 flexible `payload` schema, the sole sibling math.find, and complexity of arbitrary math operations, the description covers invocation, error semantics, payload discovery, and special domain conditions. It provides enough context for an agent to select and call the tool correctly, including what not to use it for.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, but the description compensates thoroughly: it explains how to shape `payload` by referencing math.find examples and input schema field descriptions, cautions against empty payloads, and provides a concrete example naming both `operation_id` and `payload`. This adds meaning far beyond the generic 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?

    The description states a specific action ('Run one installed math tool by ID') with a clear resource ('Jacobian math tool') and distinguishes it from the sibling math.find by positioning run as execution vs inspection. The example reinforces the precise intended operation.

    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 directs when to use math.run and when not to: 'inspect the exact operation with math.find' when payload shape is unknown, and 'Do not call math.run with an empty payload merely to discover required fields; inspection is authoritative.' It also explains how to construct payloads from examples or input schema.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

jacobian MCP server

Copy to your README.md:

Score Badge

jacobian MCP server

Copy to your README.md:

Latest Blog Posts

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/morluto/jacobian'

If you have feedback or need assistance with the MCP directory API, please join our Discord server