Discovery
thalovant_config_status, thalovant_list_public_hubs, thalovant_get_public_hub, thalovant_list_hubs, and thalovant_get_hub.
Use the Thalovant MCP server when an MCP client should discover hubs, create client identities, ask a hub, read analytics, or work with memory through Thalovant.
MCP means Model Context Protocol. It gives local agents and remote agent gateways a standard way to call Thalovant tools.
| Item | Value |
|---|---|
| MCP registry name | io.github.thalovant/thalovant-mcp |
| npm package | @thalovant/mcp-server |
| current version | 0.1.5 |
| container image | ghcr.io/thalovant/thalovant-mcp:0.1.5 |
| transports | stdio and Streamable HTTP |
| local path | best for Claude Desktop, Codex, Cursor, and desktop agents |
| remote path | best for hosted agent gateways and shared agent platforms |
| license | MIT |
| Transport | Use it when | Start command |
|---|---|---|
| stdio | The MCP client runs on the same machine as the server process. | npx --yes @thalovant/mcp-server --stdio |
| Streamable HTTP | Remote MCP clients connect over HTTP to /mcp. |
docker run ghcr.io/thalovant/thalovant-mcp:0.1.5 |
Start with stdio for a personal agent. Use Streamable HTTP when the server is deployed behind your own auth, logs, and network controls.
Public hub discovery works without Thalovant credentials. Private workspace tools and runtime tools need server-side Thalovant credentials.
Use this shape in Claude Desktop, Codex, Cursor, or another stdio MCP host:
{ "mcpServers": { "thalovant": { "command": "npx", "args": ["--yes", "@thalovant/mcp-server", "--stdio"], "env": { "THALOVANT_PROFILE": "prod", "THALOVANT_API_URL": "https://api.thalovant.com" } } }}You can also use an access token in the server environment:
export THALOVANT_ACCESS_TOKEN="replace-with-a-secret"npx --yes @thalovant/mcp-server --stdioThe container runs Streamable HTTP on port 3000 and serves MCP at /mcp.
docker run --rm \ -p 127.0.0.1:3000:3000 \ -e MCP_HTTP_AUTH_TOKEN="$(openssl rand -hex 32)" \ -e MCP_HTTP_ALLOWED_HOSTS="127.0.0.1:3000,localhost:3000" \ ghcr.io/thalovant/thalovant-mcp:0.1.5Clients connect to:
http://127.0.0.1:3000/mcpAuthorization: Bearer <token>Health checks are available at /healthz and /readyz.
For a public endpoint, set exact public URL, host, and origin values:
export MCP_PUBLIC_URL="https://mcp.example.com"export MCP_HTTP_ALLOWED_HOSTS="mcp.example.com"export MCP_HTTP_ALLOWED_ORIGINS="https://agent.example.com"MCP_HTTP_AUTH_TOKEN or MCP_HTTP_AUTH_TOKENS by default.MCP_HTTP_AUTH_MODE=jwt with JWKS, or use MCP_HTTP_AUTH_MODE=introspection for opaque tokens.THALOVANT_PRINCIPAL_CREDENTIALS_FILE or THALOVANT_PRINCIPAL_CREDENTIALS_DIR.THALOVANT_ALLOW_SHARED_CREDENTIALS=false.MCP_TOOL_ALLOWLIST and MCP_TOOL_DENYLIST for server-wide controls.MCP_AUDIT_LOG=stderr, MCP_AUDIT_LOG_FILE, or both.The server publishes OAuth protected resource metadata at:
https://mcp.example.com/.well-known/oauth-protected-resourceDiscovery
thalovant_config_status, thalovant_list_public_hubs, thalovant_get_public_hub, thalovant_list_hubs, and thalovant_get_hub.
Runtime
thalovant_identity_status, thalovant_healthcheck, thalovant_ask, thalovant_send_action, thalovant_send_code, thalovant_emit_event, and thalovant_wait_for_event.
Memory
thalovant_list_memory_items, thalovant_get_memory_summary, thalovant_get_memory_item, thalovant_create_memory_item, thalovant_update_memory_item, and thalovant_delete_memory_item.
Workspace
thalovant_create_client_identity and thalovant_get_analytics_overview.
thalovant_create_client_identity does not return secret identity material in chat output. Use savePath when you want the full identity written to a local file with mode 0600.
| Symptom | Check first |
|---|---|
| Claude or Codex cannot start the server | Confirm Node.js 20 or newer is installed and the command uses npx --yes @thalovant/mcp-server --stdio. |
| Public hub tools work but private tools fail | Configure THALOVANT_ACCESS_TOKEN, a protected SDK profile, or per-principal credentials. |
| HTTP returns 401 | Send Authorization: Bearer <token> and confirm the token matches the server config. |
| HTTP returns 403 for a browser client | Add the exact origin to MCP_HTTP_ALLOWED_ORIGINS. |
| Remote users see the same Thalovant data | Configure per-principal credentials and keep shared credentials disabled. |
| A risky tool should not be available | Add it to MCP_TOOL_DENYLIST, or use a per-principal deniedTools policy. |
Use SDK Functions when you want the underlying Thalovant SDK method names. Use Identity Files when runtime tools need saved hub credentials.
Last reviewed: July 7, 2026. Review this page when the MCP package name, registry metadata, tool list, auth defaults, transport behavior, or container image changes.