{ "$schema": "https://modelcontextprotocol.io/schemas/2025-03-26/client-config.json", "_comment": "Math-first MCP server declarations for Research Stack. Each server below is gated on a runtime environment variable so the config never embeds secrets and so contributors who have not provisioned a given backend simply skip it. See docs/math-first-tooling.md for setup instructions.", "mcpServers": { "filesystem": { "_comment": "Read/write proof artifacts, Lean kernels, and DeepSeek receipts. Scope is the repository root so review tooling cannot escape the project tree.", "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "." ], "env": {} }, "sympy": { "_comment": "Local SymPy bridge for symbolic verification of arithmetic claims that appear in distilled docs and ArithmeticSpec. Backed by sympy-mcp upstream; see https://github.com/sdiehl/sympy-mcp.", "command": "uv", "args": [ "tool", "run", "--from", "sympy-mcp", "sympy-mcp" ], "env": {} }, "wolfram-alpha": { "_comment": "Wolfram Alpha symbolic verification. Provide WOLFRAM_ALPHA_APPID in the shell environment before starting Devin/opencode. The server starts regardless and will error on individual tool calls if the key is absent — MCP startup is not blocked.", "command": "npx", "args": [ "-y", "@wolfram-alpha/mcp-server" ], "env": {} }, "notion": { "_comment": "Notion integration via official Notion MCP (Streamable HTTP + OAuth). Run `devin mcp login notion` once to complete the OAuth flow; tokens are stored locally and auto-refreshed.", "url": "https://mcp.notion.com/mcp", "transport": "http" }, "aws": { "_comment": "AWS API MCP server (awslabs.aws-api-mcp-server). Provides broad AWS CLI/API access via boto3 credential chain (default profile, us-east-1). Credentials are read from ~/.aws — no secrets embedded here.", "command": "uvx", "args": [ "awslabs.aws-api-mcp-server@latest" ], "env": { "AWS_REGION": "us-east-1", "FASTMCP_LOG_LEVEL": "ERROR" } }, "lean": { "_comment": "Lean 4 / Mathlib typecheck bridge. Targets 0-Core-Formalism/lean/Semantics/ via the existing lakefile. Requires `elan` on PATH; see GETTING_STARTED.md for the lean-toolchain pin (leanprover/lean4:v4.30.0-rc2).", "command": "uvx", "args": [ "lean-mcp", "--lakefile", "0-Core-Formalism/lean/Semantics/lakefile.toml" ], "env": {} }, "remote-lean-proof": { "_comment": "Hermes/OpenCode/Codex proof backend. Calls the dedicated AWS language-proof-server and returns receipt-bearing Lean/Lake results. Token is read from PROOF_SERVER_TOKEN or ~/.config/ene/language-proof-server.token.", "command": "python3", "args": [ "4-Infrastructure/infra/remote_lean_proof_mcp.py" ], "env": { "PROOF_SERVER_URL": "http://75.101.199.58:8787", "PROOF_SERVER_TOKEN_FILE": "/home/allaun/.config/ene/language-proof-server.token" } }, "service-orchestrator": { "_comment": "Unified control plane: register/unregister services across Authentik + Caddy + credential server. Requires AUTHENTIK_TOKEN and CADDY_ADMIN env vars. HTTP mode on port 8338.", "command": "python3", "args": [ "4-Infrastructure/infra/service-orchestrator/service_orchestrator.py" ], "env": { "AUTHENTIK_BASE": "http://100.102.173.61:9000", "CADDY_ADMIN": "http://100.101.247.127:2019", "CREDENTIAL_SERVER": "http://100.101.247.127:8444" } }, "authentik-mcp": { "_comment": "Authentik SSO MCP server — user/group/application management via Authentik API v3. Requires AUTHENTIK_TOKEN env var. Built from 4-Infrastructure/shim/authentik_agent_manager/.", "command": "/home/allaun/Research Stack/4-Infrastructure/shim/authentik_agent_manager/target/release/mcp_server", "args": [], "env": {} }, "contextstream": { "command": "npx", "args": [ "--prefer-online", "-y", "@contextstream/mcp-server@latest" ], "env": { "CONTEXTSTREAM_API_URL": "https://api.contextstream.io", "CONTEXTSTREAM_ALLOW_HEADER_AUTH": "false", "CONTEXTSTREAM_WORKSPACE_ID": "21c133f6-6854-4e81-b801-4037c11b7e34", "CONTEXTSTREAM_PROJECT_ID": "ef91cc79-aae3-4765-ae0d-63b48f5ea6e6", "CONTEXTSTREAM_USER_AGENT": "contextstream-mcp/0.4.74", "CONTEXTSTREAM_TOOLSET": "complete", "CONTEXTSTREAM_LOG_LEVEL": "quiet", "CONTEXTSTREAM_OUTPUT_FORMAT": "compact", "CONTEXTSTREAM_CONTEXT_PACK": "false", "CONTEXTSTREAM_TRANSCRIPTS_ENABLED": "true", "CONTEXTSTREAM_HOOK_TRANSCRIPTS_ENABLED": "true", "CONTEXTSTREAM_SHOW_TIMING": "false", "CONTEXTSTREAM_PROGRESSIVE_MODE": "false", "CONTEXTSTREAM_ROUTER_MODE": "false", "CONTEXTSTREAM_CONSOLIDATED": "true", "CONTEXTSTREAM_AUTO_HIDE_INTEGRATIONS": "true", "CONTEXTSTREAM_SEARCH_LIMIT": "15", "CONTEXTSTREAM_SEARCH_MAX_CHARS": "2400", "CONTEXTSTREAM_INCLUDE_STRUCTURED_CONTENT": "true" } }, "ene-contextstream": { "_comment": "Local ENE replacement for ContextStream-like memory/search/session recall. Writes local receipt-bearing SQLite memory and reads ene-api/session-sync when running.", "command": "python3", "args": [ "4-Infrastructure/infra/ene_contextstream_mcp.py" ], "env": { "ENE_API_URL": "http://127.0.0.1:3000", "ENE_CONTEXT_STORE": "/home/allaun/.local/share/ene/contextstream.sqlite", "ENE_CONTEXT_CANDIDATE_ROOT": "/home/allaun/Research Stack/shared-data/data/germane/research/github-ene-contextstream" } } } }