Skip to main content
Glama

equinox-mcp

MCP (Model Context Protocol) server for Equinox documentation.

Enables LLMs to access up-to-date Equinox documentation and validate generated code.

Installation

pip install equinox-mcp

Or run without installing:

uvx equinox-mcp

Related MCP server: Library Docs MCP Server

Usage with Claude Code

# Add as MCP server
claude mcp add -t stdio -s user equinox -- python -m equinox_mcp

# Or with uvx
claude mcp add -t stdio -s user equinox -- uvx equinox-mcp

Configuration

Environment Variable

Default

Description

EQUINOX_DOCS_PATH

(none)

Path to local Equinox docs directory (offline mode)

EQUINOX_MCP_CACHE_DIR

~/.cache/equinox-mcp

Cache directory for online mode

EQUINOX_MCP_CACHE_TTL

24

Cache TTL in hours

EQUINOX_MCP_NO_CACHE

0

Set to 1 to disable caching

Offline Mode

Point to a local Equinox clone for offline access:

export EQUINOX_DOCS_PATH=/path/to/equinox/docs
python -m equinox_mcp

Online Mode (Default)

Fetches docs from GitHub with local caching:

python -m equinox_mcp
# Fetches from: raw.githubusercontent.com/patrick-kidger/equinox/main/docs/

Available Tools

Tool

Description

list-sections

List all available documentation sections

get-documentation

Fetch specific documentation content

equinox-checker

Validate Equinox module code

Development

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

License

MIT

Available Tools

3 tools
equinox-checkerC

Analyze Equinox module code and suggest fixes. Checks PyTree compliance, init signature, call signature, and common mistakes.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesThe Equinox module code to check

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'analyzes' and 'suggests fixes,' implying a read-only diagnostic operation, but doesn't clarify if it modifies code, requires specific permissions, or has limitations like handling large codebases. The lack of output schema means return values are undocumented, leaving gaps in understanding the tool's 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 concise and front-loaded, stating the core purpose in the first sentence and listing specific checks in the second. Every sentence adds value without redundancy. However, it could be slightly more structured by separating checks into bullet points for clarity, but this is minor.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (analyzing code for multiple compliance aspects) and lack of annotations and output schema, the description is incomplete. It doesn't explain what 'suggest fixes' entails—whether it returns error messages, code patches, or recommendations—or detail the scope of 'common mistakes.' For a diagnostic tool with no structured output, more behavioral context is needed.

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?

The input schema has 100% description coverage, with the 'code' parameter documented as 'The Equinox module code to check.' The description adds context by specifying the type of code ('Equinox module code') and what it checks, but doesn't provide additional semantics like format examples or error handling. Since schema coverage is high, the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/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: 'Analyze Equinox module code and suggest fixes.' It specifies the verb ('analyze') and resource ('Equinox module code'), and lists specific checks performed (PyTree compliance, __init__ signature, __call__ signature, common mistakes). However, it doesn't explicitly differentiate from sibling tools like 'get-documentation' or 'list-sections', which appear unrelated but could potentially overlap in code analysis contexts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, such as needing valid Equinox module code, or specify scenarios where it's most useful (e.g., during development vs. debugging). There's no comparison to sibling tools, leaving the agent to infer usage based on tool names alone.

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

get-documentationB

Retrieve full documentation for requested sections. Accepts section name(s) or path(s) like 'attention', 'api/nn/attention', or ['module', 'pattern'].

ParametersJSON Schema
NameRequiredDescriptionDefault
sectionYesSection name(s) or path(s) to retrieve

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the action ('Retrieve full documentation') and parameter usage, but fails to address key behavioral aspects like whether this is a read-only operation, potential rate limits, error handling, or what the output format looks like (e.g., text, structured data). This leaves significant gaps for an AI agent.

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 and efficiently follows with parameter usage examples in a single, well-structured sentence. There is no wasted text, making it highly concise and easy to parse.

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?

Given the tool's moderate complexity (one parameter, no output schema, no annotations), the description is minimally adequate. It covers the purpose and parameter usage but lacks details on behavioral traits and output, which are crucial for an AI agent to use it effectively. Without annotations or output schema, more context would be beneficial.

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?

The schema description coverage is 100%, so the input schema already documents the 'section' parameter thoroughly. The description adds value by providing concrete examples of valid inputs (e.g., 'attention', 'api/nn/attention', or ['module', 'pattern']), which clarifies semantics beyond the schema. This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/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 with a specific verb ('Retrieve') and resource ('full documentation for requested sections'), making it easy to understand what it does. However, it doesn't explicitly differentiate from sibling tools like 'list-sections', which might list sections without retrieving documentation, leaving room for ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as 'list-sections'. It includes usage examples for the parameter but lacks context on appropriate scenarios or exclusions, offering minimal help for an AI agent in tool selection.

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

list-sectionsA

List all available Equinox documentation sections. Returns section titles, paths, and use cases to help identify relevant docs.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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 the return content (titles, paths, use cases) and the tool's purpose, but lacks details on behavioral traits such as rate limits, error handling, or pagination. It does not contradict any 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 appropriately sized and front-loaded, with two concise sentences that directly state the tool's purpose and return value without any wasted words. Every sentence earns its place by providing essential information.

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?

Given the tool's low complexity (0 parameters, no output schema, no annotations), the description is mostly complete, covering purpose and return content. However, it lacks details on behavioral aspects like error handling or performance, which would enhance completeness for a read operation.

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 tool has 0 parameters with 100% schema description coverage, so the schema fully documents the lack of inputs. The description adds no parameter information, which is appropriate here, but does not compensate for any gaps since there are none. Baseline 4 is applied for zero parameters.

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 specific action ('List all available Equinox documentation sections') and resource ('Equinox documentation sections'), distinguishing it from sibling tools like 'equinox-checker' and 'get-documentation' by focusing on section metadata rather than checking or retrieving full documentation.

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 for identifying relevant docs through section metadata, providing clear context. However, it does not explicitly state when to use this tool versus alternatives like 'get-documentation', nor does it mention any exclusions or prerequisites.

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

TDQS

A3.5/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: equinox-checker analyzes code, get-documentation retrieves specific documentation, and list-sections lists available documentation sections. There is no overlap in functionality, making it easy for an agent to select the correct tool.

Naming Consistency4/5

The tools follow a consistent verb-noun pattern with hyphens (e.g., equinox-checker, get-documentation, list-sections), which is readable and predictable. The minor deviation is that equinox-checker includes a prefix, but overall naming is coherent.

Tool Count4/5

With 3 tools, the server is well-scoped for its purpose of analyzing Equinox code and accessing documentation. This count is reasonable, though slightly on the lower side, as it covers core workflows without being overwhelming.

Completeness4/5

The tools provide good coverage for code analysis and documentation retrieval in the Equinox domain. Minor gaps might exist, such as no direct tool for generating code or handling advanced debugging, but the set supports common agent tasks effectively.

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

Related MCP Servers

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/s27183/equinox-mcp'

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