Skip to main content
Glama

MolMCP

Multi-plane MCP for the MolCrafts ecosystem.

Protocol: MCP 2026-07-28 via FastMCP 4.0.0b5 (+ MCP Python SDK v2). Handshake-era clients still work — FastMCP 4 negotiates per connection.

Optional science packages (molvis, molq, molexp, …): if not installed, that plane is omitted from catalogs and client configs (silent). Explicit molmcp serve <plane> still errors with an install hint. This is runtime behavior — not a test skip.

molmcp serve (no plane) starts the molcrafts core and FastMCP-mounts enabled providers into that one process (molvis_open, molq_list_jobs, …). molmcp init <host> writes that one MCP entry and the usage skill. --disable molcrafts errors; --disable molq omits that mount.

Command

Role

molmcp serve

Composed core + provider mounts

molmcp serve molvis

Debug: vis-only process, bare open

molmcp init grok

User-level skill + MCP JSON

Science APIs are never MCP tools. Discover them on molcrafts (packagesopen), then call them from agent Python or molvis_exec.

Client config (default: everything)

One standard mcpServers JSON, which every host reads — Claude Code and Cursor natively, Grok alongside its own config.toml.

molmcp init grok                         # skill + composed serve
molmcp init grok --disable molq --disable molexp
molmcp init grok --disable molq --enable molq   # re-enable after a disable
molmcp init claude

Host is required (grok, claude, cursor, codex). JSON is one molcrafts entry running molmcp serve, with --disable flags for omitted mounts. Tool ids look like molcrafts__molvis_open.

In Grok, ~/.grok/config.toml outranks the JSON sources. If an old molmcp entry lives there it still wins — grok inspect shows each server's origin.

Related MCP server: agentmako

Configuration

Settings live in ~/.molmcp/settings.json, edited through the CLI. There are no environment variables.

molmcp config list                                # resolved settings + layers
molmcp config set sources.molpy pkg:molpy         # index a package
molmcp config set indexWorkspace true --project   # index this repo too
molmcp config add excludes vendor
molmcp config remove sources.molpy

A project may carry .molmcp/settings.json (checked in) and .molmcp/settings.local.json (untracked); both layer over the user file. Writes go to the user file unless --project / --local is passed, because a plane server inherits its working directory from whichever client launched it.

What gets indexed. Auto-discovery finds installed MolCrafts distributions. The working directory is not a source unless indexWorkspace says so — it used to be, which meant an unconfigured install indexed whatever it happened to be started next to.

Key

Meaning

sources

Extra sources to index, name → spec (pkg:, local:, github:, path)

indexWorkspace

Index the working directory as well (default false)

knowledgeScope

Narrow which indexed sources the knowledge tools surface

excludes

Extra ignore globs for the file walk

cacheDir, maxCacheBytes, maxCacheAgeDays

Where the index lives and how big it may get

pythonEnv

Environment to auto-discover from (a venv root, python, or site-packages)

discoverInclude, discoverExclude

Force a distribution in or out of auto-discovery

molexp.workspace, molq.database

Provider-specific paths

molcrafts.json is no longer picked up from the working directory; pass --config PATH if you keep one.

CLI

uv run molmcp planes              # list planes
uv run molmcp init grok           # skill + MCP config
uv run molmcp config list         # resolved settings
uv run molmcp route "draw dopamine"
uv run molmcp serve               # composed core + mounts
uv run molmcp serve molvis        # debug one plane
uv run molmcp search "Conformer"  # offline index search
uv run molmcp index
uv run molmcp cache               # index size; --prune / --gc / --vacuum to reclaim

Install

uv sync --extra dev
uv run pytest -v

Design rules

  1. FastMCP compositionmolmcp serve is molcrafts + namespaced mounts.

  2. Bare register, namespaced mount — a provider registers open; the stack exposes molvis_open. Debug molmcp serve molvis still shows molvis__open.

  3. No science tool mirror — no show_smiles / draw_dopamine; discovery + Python.

  4. Providers register via molmcp.providers entry points.

  5. No environment switches — configuration is settings and CLI flags, so molmcp config list is the whole truth.

Documentation

Full manual: docs.molcrafts.org/molmcp (sources in docs/):

Local sources: docs/concepts/architecture.md, docs/guides/molvis-workbench.md.

Available Tools

9 tools
composeComposeB
Read-onlyIdempotent

Bind packages + suggest + explore/open pages into one budgeted pack.

sources is intersected with knowledgeScope when set.

ParametersJSON Schema
NameRequiredDescriptionDefault
refsNo
taskNo
sourcesNo
budget_charsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior4/5

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

Beyond the annotations (readOnly, openWorld, idempotent, non-destructive), the description discloses a concrete behavioral trait: sources is intersected with knowledgeScope when set. This adds useful operational context that the annotations do not provide.

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 concise sentences, front-loaded with the core purpose and followed by a critical operational caveat. No filler or redundancy; every sentence contributes information.

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?

For a tool with four undocumented parameters, no usage guidance, and an output schema that does not compensate for input semantics, the description is incomplete. An agent could guess the overall purpose but would not know how to set refs or task, or how budget_chars affects the composed result.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must explain parameter meaning. It only mentions 'sources' and indirectly hints at 'budget_chars' through 'budgeted pack'; 'refs' and 'task' remain completely unexplained, leaving the agent without enough information to populate the inputs confidently.

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?

Description identifies a specific composite action: binding packages, suggestions, and explore/open operations into a single budgeted pack. This clearly differentiates it from individual siblings like search, suggest, and open, though the phrase 'explore/open pages' is somewhat informal.

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

Usage Guidelines3/5

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

The description implies this tool is used when multiple operations should be combined into one budgeted pack, but it does not explicitly state when to use it versus calling the sibling tools individually, nor does it mention exclusions or prerequisites.

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

infoInfoA
Read-onlyIdempotent

Ops/health view of sources and registry (not the main discovery path).

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive, and open-world behavior, so the safety profile is covered. The description adds only a conceptual Ops/health framing and a discovery exclusion, not operational behaviors like scoping or result characteristics.

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?

Single sentence, front-loaded with the key purpose, and the exclusion is in parentheses so the core message is immediate. No filler or redundant restatement of the tool name.

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?

For a simple optional-parameter tool with rich annotations and an output schema, the description gives enough positioning: Ops/health, sources and registry, not the discovery path. A small gap is the meaning of 'workspace' and what 'sources and registry' refer to, but the schema and output schema fill part of that.

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

Parameters2/5

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

Schema description coverage is 0% and the description does not mention the optional 'workspace' parameter or how it affects the result. The parameter name is somewhat self-explanatory, but the description does not compensate for the missing schema documentation.

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 identifies the tool as an 'Ops/health view of sources and registry,' which conveys a clear subject and scope. It also distances itself from 'the main discovery path,' helping an agent distinguish it from search-oriented siblings like search and suggest, though it does not name a specific alternative.

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?

It explicitly says this is not the main discovery path, which tells an agent when not to use it and suggests discovery is handled elsewhere. The wording provides clear context for an ops/health use case, though it does not explicitly point to a sibling for discovery.

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

list_planesList PlanesA
Read-onlyIdempotent

List the core connection and optional provider planes.

Each row has id, serve_command, when_to_connect, tools_hint, and disableable. molcrafts is always on; only provider planes can be dropped from a client config.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already disclose readOnlyHint, idempotentHint, and destructiveHint, covering safety profile. The description adds valuable behavioral context beyond annotations: it explains that molcrafts is always on and only provider planes can be dropped, which informs the agent about data invariants. No contradiction with annotations; the added context is relevant and useful.

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 brief and front-loaded with the purpose. The first sentence states what it does; the second explains row structure and a key rule. Every sentence contributes to understanding, 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?

For a no-parameter list tool with an output schema (not shown), the description provides sufficient context: it enumerates the fields of each row and clarifies the distinction between core and provider planes. An agent can call this tool without ambiguity about inputs or expected outputs.

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?

With zero parameters, the baseline is 4 per the rubric. The description doesn't need to explain parameters; however, it does describe the output fields, which indirectly clarifies what the tool returns. No compensation needed for missing parameter info.

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 lists 'the core connection and optional provider planes' with a distinct resource and scope. It differentiates from siblings by specifying the exact content, and the name 'list_planes' aligns with the purpose without tautology.

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 does not mention any sibling tools, conditions for substitution, or context that would help an agent decide between list_planes and other operations. The information given is purely descriptive, lacking explicit usage or exclusion criteria.

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

openOpenA
Read-onlyIdempotent

L2 symbol page: signature, doc, examples, tests (inject before coding).

Miss → ok=false / SYMBOL_NOT_FOUND. Empty examples are honest zeros.

ParametersJSON Schema
NameRequiredDescriptionDefault
refYes
include_sourceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior, so the bar is lower. The description adds valuable context beyond annotations: miss responses return ok=false/SYMBOL_NOT_FOUND, and empty examples are meaningful rather than missing data. No contradiction with annotations 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 extremely compact: two sentences that front-load the core purpose and timing, then add failure and edge-case semantics. Every sentence earns its place with no filler or redundant restatement of the title.

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 provides the core purpose, timing, failure behavior, and empty-example semantics, while annotations and output schema cover safety and return shape. However, the undocumented parameters remain a notable gap: the agent is left guessing what format ref should take and what include_source controls.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for the lack of parameter documentation, but it does not. The meaning of 'ref' is only loosely implied by 'L2 symbol page', and 'include_source' is completely unexplained.

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 identifies the tool as opening an 'L2 symbol page' with signature, doc, examples, and tests, which is much more specific than the generic title 'Open'. It still lacks an explicit verb and does not differentiate from siblings like info or outline, but the resource and contents are clearly stated.

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 gives a concrete use context with 'inject before coding', telling the agent when to invoke it. It also documents the miss behavior, but it does not state when not to use this tool or explicitly compare it to sibling tools such as search or outline.

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

outlineOutlineB
Read-onlyIdempotent

L1 module directory for one source (optional path prefix).

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoOptional path/module prefix to narrow the tree.
sourceYesName from packages.
top_symbols_limitNoMax sample symbols per module in the page.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already disclose read-only, idempotent, non-destructive behavior, so the description's burden is lower. It adds a small amount of scope context ('one source', 'optional path prefix') but does not explain the meaning of 'L1' or how top_symbols_limit affects results. 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loaded; every word earns its place. It is not a perfect 5 because it is a sentence fragment and depends on the unexplained 'L1' abbreviation.

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?

For a simple read-only tool with full schema descriptions, annotations, and an output schema, this is minimally adequate. It lacks usage guidance and contextual semantics around what 'L1' means and what the returned directory/page actually contains.

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 description coverage is 100%, so the baseline is 3. The description only echoes the 'optional path prefix' from the schema and adds no additional meaning for source or top_symbols_limit.

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 identifies the resource ('module directory'), the scope ('for one source'), and a key option ('optional path prefix'). However, it is a noun phrase rather than an explicit verb+resource statement, and 'L1' is unexplained, leaving some ambiguity about exactly what is returned.

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?

No guidance is given on when to choose outline over sibling tools like info, packages, or list_planes. 'for one source' hints at scope but does not state conditions, exclusions, or alternatives.

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

packagesPackagesA
Read-onlyIdempotent

L0 directory page: every package + summary for context injection.

Read the markdown (or data.packages[].summary) and choose sources yourself — this is a catalog, not a ranking.

With knowledgeScope set, only those packages appear.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior. The description adds useful behavioral details beyond those: it is a catalog page for context injection, includes every package plus summary, is not a ranked result, and is scoped by knowledgeScope. This gives the agent a clearer behavioral model of what the tool returns and how to treat the output.

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 compact and front-loaded with the core purpose. The second and third lines add meaningful guidance about treating the output as a catalog and about knowledgeScope filtering. Slight jargon like 'L0 directory page' costs a little clarity but does not seriously hurt the message.

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?

For a zero-parameter, read-only directory tool with an output schema and rich annotations, the description conveys the essential information: what is returned, how to use it, and what changes when knowledgeScope is set. It could be more explicit about the exact output shape, but the presence of an output schema reduces that burden. Minor ambiguity about where knowledgeScope comes from prevents a 5.

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 zero parameters, so the baseline is 4. The description mentions knowledgeScope as a scoping influence, which gives additional semantic context even though it is not a declared schema parameter. There is no param ambiguity to resolve since the input schema is empty.

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 states this is a directory page listing every package with a summary, which clearly identifies it as a catalog/list operation rather than a search or detail view. It uses resource-specific language (packages, data.packages[].summary) that distinguishes it from sibling tools like info or outline, though it lacks an explicit verb like 'list'.

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?

It gives clear usage context: read the markdown or summaries and choose sources yourself, emphasizing this is a catalog rather than a ranking. It also explains behavior when knowledgeScope is set. It does not explicitly name sibling alternatives or state when not to use it, but the 'not a ranking' guidance and knowledgeScope condition provide meaningful selection cues.

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

routeRouteA
Read-onlyIdempotent

Which optional provider plane(s) to connect for task.

Routing only — no science. molcrafts is already this connection. Do not invent domain MCP tools for chemistry APIs.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description doesn't need to restate those. It adds useful behavioral context: this tool only routes and does not perform science, and it warns against inventing tools. There is 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the core purpose. The additional sentences about routing-only and not inventing tools are purposeful guardrails. It is slightly cryptic but contains no redundancy.

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 covers the tool's role and key constraints, and an output schema exists, but the task parameter semantics are underspecified. An agent may understand the routing concept yet still lack enough detail to invoke it correctly with real task values.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must explain the 'task' parameter, but it only mentions '*task*' without defining what values it accepts, expected format, or how it determines routing. This is a meaningful gap for a single required parameter.

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 states the tool's function: decide which optional provider plane(s) to connect for a task. It also disambiguates itself with 'Routing only — no science' and warns against inventing domain MCP tools, which helps separate it from science/chemistry-related siblings. However, 'provider plane(s)' is left somewhat vague and no sibling is explicitly named.

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?

It gives clear context for when to use the tool: when routing/connecting provider planes, not for doing science. The note 'molcrafts is already this connection' implies a condition where routing may not be needed, and 'Do not invent domain MCP tools for chemistry APIs' is an explicit exclusion. It does not name alternative sibling tools, but the guidance is sufficient.

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

suggestSuggestA
Read-onlyIdempotent

Optional shortcut: which package pages to read for task.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already establish read-only, idempotent, open-world, non-destructive behavior. The description adds only that this is a shortcut for page selection and does not explain what the result set looks like; 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?

One short, front-loaded sentence with no filler; every word adds either scope or usage context.

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?

The tool is simple, has one required parameter, an output schema, and annotations covering safety/behavior. The main remaining gap is the lack of an example or clarification of what a task looks like, but for its complexity the definition is adequate.

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 has 0% coverage and just names `task` as a string. The description clarifies that `task` is the input driving the page suggestions, which is meaningful, but it does not specify format or expected phrasing; this partially compensates for the empty schema description.

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 states the tool recommends which package pages to read for a given task, naming a concrete resource and purpose. It does not explicitly contrast with any sibling tool, so it lacks the sharp differentiation seen in the best definitions.

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

Usage Guidelines3/5

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

'Optional shortcut' implies this is a convenience alternative to a fuller workflow, and 'for *task*' describes the trigger. However, there is no explicit when-to-use or when-not-to-use guidance relative to siblings like search or packages.

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. Dates show when Glama detected each change.

  1. 9 tool updatesv0.6.1
    • First observedcompose
    • First observedinfo
    • First observedlist_planes
    • First observedopen
    • First observedoutline
    • First observedpackages
    • First observedroute
    • First observedsearch
    • First observedsuggest

TDQS

B3.4/5.0
Disambiguation4/5

The main exploration tools are explicitly layered (packages/outline/open), and info/list_planes/route are separated by role. Search, suggest, and compose have closely related purposes, but their descriptions distinguish ref-finding, package-page recommendation, and bundling, so an agent can usually select the right one.

Naming Consistency2/5

Tool names mix bare nouns (info, packages, outline, open) with verbs (compose, search, suggest, route) and one snake_case verb_phrase (list_planes). There is no consistent verb_noun convention or common prefix, making the surface feel ad hoc despite the underlying hierarchy.

Tool Count5/5

Nine tools is well within the ideal scope for a server of this complexity. Each tool has a distinct function in the discovery, search, composition, health, and routing workflow, with no obvious redundancy.

Completeness4/5

The browse (packages/outline/open), search, suggest, compose, health, and plane-routing flows form a complete read-only discovery workflow. The only minor gap is the lack of a raw package/registry detail view beyond info and open, but agents can still accomplish the core task.

Maintenance

ActivityActive
ResponsivenessSyncing

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

  • A
    license
    Not graded
    quality
    A
    maintenance
    Semantic code indexer with GraphRAG knowledge graph. Index your codebase, search in natural language, and expose everything via MCP so AI agents understand architecture — not just files.
    462
    Apache 2.0
  • A
    license
    B
    quality
    A
    maintenance
    Local-first codebase intelligence engine providing AI coding agents with a typed MCP toolset for understanding and navigating code repositories.
    100
    51
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides code intelligence for AI coding agents by indexing repositories into a hybrid knowledge graph, enabling agents to query dependencies, impact, and context through 28 MCP tools.
    3
    Apache 2.0

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/MolCrafts/molmcp'

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