propaths-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PROPATHS_API_URL | No | API base URL. Point at http://localhost:8000 to run against a local API. | https://www.propaths.net |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| completions | {} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_proteinsA | Search proteins by symbol prefix (case-insensitive). Returns matching symbols with HGNC id and description. Use this first to resolve a protein of interest, then call get_protein. |
| get_proteinA | Overview map for one protein, the main entry point. Returns a COMPACT overview sized for an agent: protein metadata, counts, the top-level pathway roots, and one headline row per interaction (id, oriented source/target, kind, direction, type, a one-line supportSummary, resolved pathway names, and function/evidence counts). It deliberately omits the heavy per-edge mechanism and evidence prose (the full protein page is ~700K tokens for a hub protein). Drill into any row by id for full depth: get_interaction(id) for an edge's mechanism + kinetics + evidence. |
| get_interactionA | One interaction's full enriched record by id. Includes mechanism prose, direction, per-function effects, kinetics, and
evidence. Pass |
| get_pathway_treeA | The full pathway scaffold as a flat node list. Assemble the tree client-side via each node's parentId. Use this to resolve the canonicalPathwayId values returned on interactions into human-readable pathway names. |
| get_interaction_betweenA | The interaction(s) between two named proteins, oriented from Use this for "what does A do to B" in one call, instead of pulling get_protein and scanning for the partner. |
| list_interactionsA | Filtered, sorted, headline-only list of a protein's interactions. kind = activates|inhibits|binds|regulates; type = direct|indirect; pathway = a pathway-name substring; min_evidence = minimum supporting papers; sort = evidence|functions|partner. Lighter than get_protein; use it for targeted questions ("best-evidenced inhibitory edges in ERAD"), then drill in with get_interaction(id). |
| list_interaction_typesA | The controlled vocabulary with plain-language meanings and live counts: edge kinds, interaction types, directions, and the mechanisms present in the graph. Call this before filtering so you use valid values. |
| get_pathwayA | A single pathway by id: the node, its ancestors and children, and the interactions placed in it. The pathway-first way into the graph. |
| get_highlightsA | A curated entry point: the best-evidenced interactions, ranked by supporting evidence. Good for a quick, strong overview. |
| export_networkA | Export a protein's interactome as text for external tools. format = tsv (edge list / spreadsheet), sif or graphml (Cytoscape, networkx, igraph, Gephi). Edges carry their biological orientation (an upstream partner points into the protein), so the graph is directed. |
| describe_schemaA | Explain the graph's vocabulary and how to use these tools: edge kinds, interaction types, direction semantics, orientation, and the recommended call flow. Static guidance that works even if the API is unreachable. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| profile-protein | Summarize a protein's interactome from the graph |
| strongest-evidence | Find a protein's best-supported interactions |
| explain-pathway | Explain a pathway and what its members do |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| schema | Graph vocabulary + tool-usage guide |
| interaction-types | Controlled vocabulary + counts |
| pathways-tree | Full pathway scaffold |
TDQS
Scored across 11 tools
Each tool has a clearly distinct purpose: search_proteins for finding proteins, get_protein for overview, get_interaction for deep detail, list_interactions for filtered lists, get_pathway/get_pathway_tree for pathway navigation, export_network for output, and describe_schema for guidance. Even closely related tools like get_interaction_between and get_interaction are differentiated by their argument (pair vs. ID) and described usage.
All tool names follow a consistent get_/list_/search_/export_/describe_ + noun pattern, all in snake_case. The verb clearly indicates the action (get for single resource, list for collection, search for prefix query, export for output, describe for metadata) and the noun identifies the resource (protein, interaction, pathway, network, schema).
11 tools is well within the recommended 3-15 range and each tool addresses a specific need for exploring a biological interaction graph. The count feels neither thin nor bloated—there are distinct entry points, filtering utilities, vocabulary support, and export functionality without redundant overlaps.
The tool surface covers the full read-only lifecycle of the domain: find a protein (search_proteins), get overview (get_protein), drill into details (get_interaction), filter (list_interactions), navigate pathways (get_pathway, get_pathway_tree), discover vocabularies (list_interaction_types), get curated highlights (get_highlights), and export (export_network). The inclusion of describe_schema ensures agents can self-orient, and there are no obvious dead ends—every tool's output either stands alone or provides IDs that are directly consumed by other tools.