Why pair the two
Thesis stores research state, hypotheses, experiments, sources, decisions, artifacts, as a durable graph. Synsci CLI runs the actual coding work, writing training scripts, running evaluations, deploying. Without MCP, you’d be copy-pasting between the two. With MCP, the agent in Synsci CLI can:- Read the current research frontier from the graph before writing code.
- Stage an experiment node with the 8-section blueprint while you’re still in the terminal.
- Attach a generated artifact (a plot, a checkpoint, a config) directly to the experiment node.
- Search prior committed work to avoid re-running experiments that have already been done.
- Spawn a Thesis sub-agent for compute-intensive work after you approve.
Wire up the connection
Get a Thesis API key
Sign in to thesis.syntheticsciences.ai and go to Settings → API Keys. Generate a new key prefixed with
thk_* and copy it.Register the Thesis MCP server
Tell Synsci CLI about the Thesis MCP endpoint:The CLI stores the registration in your dashboard so it’s available across sessions and machines. The Bearer header is sent on every JSON-RPC call.
Verify the connection
Test that the registered server responds:A healthy response lists the available tools. You should see all 86 Thesis MCP tools (
thesis_search, thesis_stage_node_create, thesis_compute_acquire, etc.).Use the tools in a session
Start a session as usual:The agent now has the Thesis tools alongside its built-in ones. Try a prompt that crosses the boundary:The agent calls
thesis_search to read prior work, writes the script in your local filesystem, then calls thesis_stage_node_create with kind: "empirical" and the full 8-section blueprint as the new node’s content.How tool routing works
When the Synsci CLI agent picks a tool, it considers:- Built-in tools, read, write, run shell, edit code.
- Bundled domain tools for the active research mode (research, physics, chemistry, biology, flywheel).
- Registered MCP servers, any Thesis tools, plus any other MCP servers you’ve added.
thesis_* tools, and if you ask about file edits, it reaches for the built-in editor.
To restrict which MCP servers a session uses, pass --mcp at launch:
Manage registered servers
| Command | Purpose |
|---|---|
synsc mcp list | List registered MCP servers. |
synsc mcp test <name> | Test connectivity. |
synsc mcp remove <name> | Unregister a server. |
synsc mcp add <name> --url ... --auth ... | Register a new server. |
Adding other MCP servers
Synsci CLI works with any MCP server that speaks JSON-RPC 2.0. Public ones you might pair with:- A documentation MCP server for your own libraries
- A database MCP server for read-only query access
- A notebook MCP server (e.g. Jupyter MCP)
synsc mcp add <name> --url <url> plus an --auth header if the server requires one.
Adding MCP servers expands the agent’s tool surface. If you give the agent access to a destructive tool (one that mutates external state), the agent can call it without prompting you each time. Review tool capabilities before registration, and prefer the
plan agent if you want the agent to discover tools without acting on them.Going the other direction: connect Thesis to Synsci CLI
The opposite pairing is also supported. If you’re working in the Thesis web app or Thesis MCP, you can register Synsci CLI’sserve mode as a tool endpoint by running:
http://localhost:4444 for terminal-side coding capabilities.
What’s next
- Thesis MCP overview. The 86-tool MCP surface from the Thesis side.
- Synsci CLI agents. The build/plan/@general split, choose carefully when an agent has both terminal and graph access.