The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Althea MCP listing page.
A direct line from your coding agent to your Althea.
Shared research memory and a consent-first network of verified ML researchers.
Give Codex, Claude Code, and other coding agents a direct line to your personal Althea. They can hand her questions, code, and context from the repository in front of them. Althea brings your shared research memory and, when useful, can ask a consent-first network of verified ML researchers for help.
Setup · Connect a client · First conversation · Tools · Security and privacy · Development
You need access to Althea and uv. Install Althea MCP from PyPI, then sign in with an emailed verification code:
If the install succeeds but the command is not found, run uv tool update-shell
and open a new terminal.
Run setup yourself in an interactive terminal. Enter your email and verification code there, not in an AI chat.
Setup follows the same account journey as the Althea web app:
The installed server starts without fetching code on every launch. Its tools still need a network connection to Althea. Upgrade the package later with:
Complete setup once, then add the local stdio server. Give each client a different thread key.
[!CAUTION] This server can read private Althea history and send real messages. Register it only in clients and projects you trust.
codex mcp add writes to your user configuration. Equivalent
~/.codex/config.toml:
That command uses Claude Code's project-local scope. Add --scope user
immediately before althea only if you want the server available in every
project you open.
A user-wide manual entry under the top-level mcpServers object in
~/.claude.json looks like this:
Find the installed command:
On Windows PowerShell:
GUI applications sometimes receive a smaller PATH than your terminal. If
althea-mcp is not found, use the absolute path returned above:
Restart the client after changing its MCP configuration.
Try one of these prompts in your MCP client:
Messages continue the configured thread. They are real messages to your personal Althea and may cause her to begin work.
| Tool | What it does |
|---|---|
ask_althea(message) | Sends a message and uses a 120-second polling window by default for the first reply. If the window expires, the work may still continue. |
send_message_to_althea(message) | Sends a message immediately and returns a receipt without waiting. Use it for context, notes, and longer requests. |
get_althea_messages(sender=None, limit=10) | Returns 1 to 100 recent messages in chronological order. Optionally filter by user, assistant, or system. |
search_althea_conversations(query=None, limit=10) | Finds conversations across the user's Althea account by title or topic. With no query, returns recent conversations. |
get_althea_conversation_log(conversation_id, limit=100) | Returns the last 1 to 100 messages from any owned conversation in chronological order, together with its total message count. |
The two send tools are marked as state-changing. Conversation search and message retrieval are read-only. The current tool surface is text-only. It does not expose attachments or other Althea artifacts.
Althea MCP is a small public adapter. The frontend authenticates the user, resolves their canonical Althea, sends messages, and stores the resulting conversation. The package polls those persisted messages when a caller waits for a reply. The coding agent talks to Althea, and Althea coordinates with the researcher network when a request would benefit from outside expertise.
Setup creates a normal Althea usage session:
althea-mcp setup again in a
separate terminal. Running MCP processes reload the replacement credentials.ALTHEA_THREAD_KEY stay the same.Credentials are stored as plaintext JSON at
~/.config/althea-mcp/credentials.json. On operating systems that support Unix
file modes, the credential file is set to 0600. A parent directory created by
Althea MCP is requested as 0700; check the permissions yourself when using a
pre-existing custom directory.
ALTHEA_APP_URL requires a new setup.Please report vulnerabilities using the security policy.
Most users only need althea-mcp setup and a client-specific thread key.
| Environment variable | Default | Purpose |
|---|---|---|
ALTHEA_APP_URL | https://althea.tiptreesystems.com | Althea API origin. Saved credentials are bound to it. Plain HTTP is accepted only for loopback development. |
ALTHEA_PUBLIC_SITE_URL | https://tiptreesystems.com | Base URL for terms, privacy, and access requests. Dev Althea selects https://dev.tiptreesystems.com automatically. |
ALTHEA_THREAD_KEY | mcp | Stable conversation identifier. Use 1 to 128 letters, digits, dots, underscores, colons, or hyphens, starting with a letter or digit. |
ALTHEA_MCP_CREDENTIALS_FILE | ~/.config/althea-mcp/credentials.json | Override the local credential path. |
ALTHEA_MCP_HTTP_TIMEOUT | 60 | HTTP timeout in seconds. |
ALTHEA_MCP_POLL_INTERVAL | 2 | Delay between response polls in seconds. |
ALTHEA_MCP_POLL_TIMEOUT | 120 | Maximum wait for ask_althea in seconds. |
ALTHEA_MCP_LOG_LEVEL | WARNING | Python log level. |
Setup also accepts --credentials-file to override the credential path and
--no-browser to print an access-request URL without opening it.
Althea MCP is not configured
Run althea-mcp setup in a terminal, then restart the MCP client.
Your Althea MCP sign-in has expired or was revoked
Run setup again. The refresh-token family has a 14-day absolute lifetime.
Saved credentials are bound to another URL
Run setup with the same origin the MCP client will use:
Then set the matching ALTHEA_APP_URL in the client configuration.
ask_althea timed out
Althea may still be working. Call get_althea_messages after a short wait.
The client cannot find althea-mcp
Run command -v althea-mcp in a terminal and use that absolute path in the
client configuration.
Two clients are sharing a conversation
Assign a distinct ALTHEA_THREAD_KEY to each client and restart them.
Run setup against a local frontend:
Running althea-mcp with no subcommand starts the stdio server. The explicit
equivalent is althea-mcp serve.
Bug reports and focused pull requests are welcome. Read the contribution guide before opening one. Remove all email addresses, messages, OTPs, and credentials from logs and fixtures.
MIT © Tiptree Advanced Systems Corporation.