MCP server
synthient mcp runs a Model Context Protocol server over stdio, exposing lookups, feed metadata, and schemas as tools for any MCP-compatible client.
It ships inside the CLI, so there is nothing separate to install:
brew install synthient/tap/synthient
synthient mcp
The server authenticates with the usual credential order: SYNTHIENT_API_KEY, a .env in the working directory, then the OS keychain. It exits at startup if no key is found. The only flag is --transport, which currently accepts stdio.
Tools
| Tool | Purpose |
|---|---|
lookup_ip | Look up intelligence for one or more IP addresses |
lookup_domain | Look up domain intelligence from Helios observations |
get_account | Report organization, scopes, and lookup quota |
list_feed_streams | List available feed streams with descriptions and aliases |
list_feed_snapshots | List Parquet snapshots for a stream, with pagination |
feed_snapshot_meta | Snapshot metadata, checksum, size, row count, and schema |
sample_stream | Collect a bounded sample of live events from a real-time feed |
grpc_schema | Fetch protobuf descriptors through gRPC reflection |
Prefer these over hand-rolled HTTP when the runtime supports MCP: they handle authentication, pagination, and stream bounding for you. lookup_ip takes many addresses at once, which costs ceil(n * 0.9) credits instead of n.
Registering the server
The Claude Code and Codex plugins register the server for you. Everywhere else, meaning Claude Desktop, an editor, or your own agent runtime, declare it yourself, using an absolute path to the binary if synthient isn't on the launcher's PATH:
{
"mcpServers": {
"synthient": {
"command": "synthient",
"args": ["mcp"]
}
}
}
A launcher started from the desktop rather than a shell often has neither your PATH nor your environment. If the server exits immediately, that is usually a missing binary path or a key the process never saw. The keychain, populated once with synthient auth, is the credential source that survives it.
What stays in the CLI
The tools cover the read surfaces an agent asks for mid-conversation. Bulk and long-running work stays in the CLI: snapshot downloads with checksum verification, filtered or long-running stream capture, CSV export, and the status / scopes diagnostics. The plugin skills drive those directly when a task needs them.
An agent with no tool access at all still has a machine-readable path: every page here is published as plain markdown at its own .md URL, and the whole product is condensed into the two llms.txt files.