Skip to main content
Glama
hyi
by hyi

LitCoin MCP Server

MCP server for the LitCoin Knowledge Graph (KG) - query LitCoin knowledge graph for nodes, edges, relationships as well as semantic similarity search over nodes and relationships. It supports semantic + structural LitCoin knowledge graph access for AI agents via MCP.

This MCP server exposes the following tools:

  • get_node(node_id: CURIE str)

    • Get information about a specific node by CURIE.

  • get_node_edges(node_id: CURIE str)

    • Get all edges connected to a node.

  • get_edges_between(source_id: CURIE str, target_id: CURIE str)

    • Find all edges connecting two nodes by CURIEs

  • get_semantic_similar_nodes(query: str, top_k: int = 10, k_per_index: int = 2)

    • Find top_k semantically similar nodes to an input text query

  • get_semantic_similar_edges(query: str, top_k: int = 10, k_per_index: int = 2)

    • Find top_k semantically similar relationships to an input text query

Note that for semantic search tools to work, this MCP server assumes Neo4j embedding vector indexes already exist.

Response Format

  • All responses are JSON serializable.

  • Embedding vectors stored in Neo4j are never returned to the client.

  • Semantic search results are sorted by similarity score (descending).

Related MCP server: vector-knowledge-graph-mcp

No installation needed! Use uvx to run the server in isolated environments.

Configuration

Environment Variables

The following environmental variables must be configured for this LitCoin MCP Server:

  • OPENAI_API_KEY - OPENAI API Key for semantic search related tools such as get_semantic_similar_nodes and get_semantic_similar_edges. the embedding vectors for nodes and edges in the LitCoin KG were created using the text-embedding-3-small model from OpenAI. It's recommended to use the same model to generate embeddings for input text queries to ensure dimensional compatibility for semantic search related tools.

  • NEO4J_USERNAME - LitCoin Neo4j server authentication username.

  • NEO4J_PASSWORD - LitCoin Neo4j server authentication password.

  • NEO4J_URI - LitCoin Knowledge Graph endpoint (default: bolt://litcoin-graph.apps.renci.org:7687)

MCP CLient (e.g., Goose, Claude Desktop) Configuration

Using uvx

The easiest way to use this MCP server is with uvx, which runs it in isolated environments without installation:

{
  "mcpServers": {
    "litcoin": {
      "command": "uvx",
      "args": ["litcoin-mcp"]
    }
  }
}

For Local Development

When running from source, use the full uv command:

{
  "mcpServers": {
    "robokop": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/absolute/path/to/litcoin-mcp",
        "python",
        "run_server.py"
      ]
    }
  }
}

Note: Replace /absolute/path/to/litcoin-mcp with your actual path.

Available Tools

5 tools
get_edges_betweenD
ParametersJSON Schema
NameRequiredDescriptionDefault
source_idYes
target_idYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

get_nodeD
ParametersJSON Schema
NameRequiredDescriptionDefault
node_idYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

get_node_edgesD
ParametersJSON Schema
NameRequiredDescriptionDefault
node_idYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

get_semantic_similar_edgesD
ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
top_kNo
k_per_indexNo

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

get_semantic_similar_nodesD
ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
top_kNo
k_per_indexNo

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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. 5 tool updatesv0.1.0
    • First observedget_edges_between
    • First observedget_node
    • First observedget_node_edges
    • First observedget_semantic_similar_edges
    • First observedget_semantic_similar_nodes

TDQS

C2/5.0

Scored across 5 tools

Disambiguation4/5

Tool names use distinct noun phrases (node, node_edges, edges_between, semantic_similar_edges, semantic_similar_nodes) that indicate different query targets. However, the absence of descriptions could cause confusion between get_node_edges and get_edges_between for an agent unfamiliar with the API.

Naming Consistency5/5

All tools follow a consistent get_<noun> pattern with snake_case, making the naming predictable and uniform.

Tool Count5/5

The server provides exactly 5 tools, which is a well-scoped number for a graph query server, not overwhelming or too sparse.

Completeness3/5

The surface covers node retrieval, edge retrieval, and semantic similarity queries, but lacks basic operations like listing all nodes/edges or fetching an edge by ID, leaving notable gaps for broader graph exploration.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers