scientific_reasoning_queryLABSCO SUMMARY
Neo4j with APOC is a hard prerequisite, not an optional backend.
The reasoning stages issue APOC procedure calls directly, so a plain Neo4j install fails in ways that look like application bugs — the Compose files exist precisely to avoid that. What you get for the setup cost is a reasoning trace you can inspect: the graph state comes back with the answer, so a conclusion can be traced to the evidence nodes that produced it.
What it is
An MCP server implementing the Advanced Scientific Reasoning Graph-of-Thoughts framework on top of a Neo4j graph database. The graph is the working memory: nodes are concepts, hypotheses and evidence, edges are the semantic and logical relationships between them, and the reasoning stages build and traverse it. Responses can include the reasoning trace and the graph state alongside the answer.
What you get
- A scientific question answered through graph-based analysis, with optional reasoning trace, graph state, a cap on graph nodes in the response, and a summary or detailed output level —
scientific_reasoning_query - A research hypothesis evaluated with confidence scoring, optionally scoped to a research domain and pointed at external evidence sources —
analyze_research_hypothesis - Relationships between concepts explored to a chosen depth from 1 to 5, with the relationship types you care about —
explore_scientific_relationships - A claim validated against existing evidence with a confidence threshold, your own validation criteria, and contradictory evidence included on request —
validate_scientific_claims - Session tracking across calls through a session identifier, so a line of reasoning continues rather than restarting
- An HTTP surface alongside MCP:
POST /mcpfor MCP clients andGET /healthfor status
Requirements
A running Neo4j instance with the APOC library installed — several reasoning stages call APOC procedures such as apoc.create.addLabels and apoc.merge.node, and without it the application will not work correctly. Connection details go in config/settings.yaml or in NEO4J_URI, NEO4J_USER, NEO4J_PASSWORD and NEO4J_DATABASE. Python 3.11+ with Poetry: poetry install, then run the server directly or through uvicorn on port 8000. The provided docker-compose.yml and docker-compose.prod.yml already include a Neo4j service with APOC configured, which is the simplest way to satisfy that requirement. MCP_TRANSPORT_TYPE chooses stdio or http, ENABLE_EVIDENCE_SOURCES turns on external evidence gathering, and SECRETS_PROVIDER set to aws, gcp or vault loads API keys and the Neo4j password from a secrets manager at startup. Run scripts/run_cypher_migrations.py to create the recommended indexes.
Setup effort
Build from source — git clone https://github.com/SaptaDey/Adaptive-Graph-of-Thoughts-MCP-server.git
USE CASES
Working through a research question with the reasoning visible
Ask the question with the trace and graph state included, so the path from evidence to conclusion is inspectable rather than asserted.
Testing a hypothesis before committing to it
Submit it with its research domain and get a confidence-scored evaluation back rather than an unqualified opinion.
Mapping how two fields connect
Explore the relationships from a primary concept to a chosen depth and restrict which relationship types are followed.
Checking a claim honestly
Validate it with a confidence threshold and ask for counter-evidence to be included, so disagreement in the literature shows up.
4 tools
Listed in project docs. Your client may show a different list.
analyze_research_hypothesisexplore_scientific_relationshipsvalidate_scientific_claimsBEFORE YOU INSTALL
What to know first
Tools you get
4 tools named in the project's documentation.
Requires
- Python 3.11+
- Poetry
- A running Neo4j with the APOC plugin
- OPENAI_API_KEY in your environment
- ANTHROPIC_API_KEY in your environment
- NEO4J_PASSWORD in your environment
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
git clone https://github.com/SaptaDey/Adaptive-Graph-of-Thoughts-MCP-server.git
cd Adaptive-Graph-of-Thoughts-MCP-server
poetry install
poetry run python -m agt_setupMCP Clients
Claude Desktop
{
"mcpServers": {
"adaptive-graph-of-thoughts": {
"command": "poetry",
"args": [
"--directory",
"<YOUR_PATH_TO_ADAPTIVE_GRAPH_OF_THOUGHTS>",
"run",
"python",
"-m",
"adaptive_graph_of_thoughts.main"
],
"env": {
"NEO4J_URI": "bolt://localhost:7687",
"NEO4J_USER": "neo4j",
"NEO4J_PASSWORD": "<YOUR_NEO4J_PASSWORD>",
"NEO4J_DATABASE": "neo4j",
"MCP_TRANSPORT_TYPE": "stdio",
"PYTHONPATH": "<YOUR_PATH_TO_ADAPTIVE_GRAPH_OF_THOUGHTS>/src"
}
}
}
}<YOUR_PATH_TO_ADAPTIVE_GRAPH_OF_THOUGHTS> is the folder the git clone created. Neo4j must be running with the APOC plugin.
The configuration on this page does not set OPENAI_API_KEY and ANTHROPIC_API_KEY; the project's instructions put them in a .env file. To supply them without depending on where the server looks for that file, use the block's "env" section.
VS Code
{
"servers": {
"adaptive-graph-of-thoughts": {
"type": "stdio",
"command": "poetry",
"args": [
"--directory",
"<YOUR_PATH_TO_ADAPTIVE_GRAPH_OF_THOUGHTS>",
"run",
"python",
"-m",
"adaptive_graph_of_thoughts.main"
],
"env": {
"NEO4J_URI": "bolt://localhost:7687",
"NEO4J_USER": "neo4j",
"NEO4J_PASSWORD": "<YOUR_NEO4J_PASSWORD>",
"NEO4J_DATABASE": "neo4j",
"MCP_TRANSPORT_TYPE": "stdio",
"PYTHONPATH": "<YOUR_PATH_TO_ADAPTIVE_GRAPH_OF_THOUGHTS>/src"
}
}
}
}<YOUR_PATH_TO_ADAPTIVE_GRAPH_OF_THOUGHTS> is the folder the git clone created. Neo4j must be running with the APOC plugin.
The configuration on this page does not set OPENAI_API_KEY and ANTHROPIC_API_KEY; the project's instructions put them in a .env file. To supply them without depending on where the server looks for that file, use the block's "env" section.