The AI Companion MCP Server

A clean connection to the public catalog—nothing private slips through.
Give your agent a window into the teasa catalog. The teasa MCP server is an open-source Model Context Protocol server that lets Claude Desktop, Claude Code, and any other MCP-capable client search and browse public AI companions — the interactive characters and stories that creators publish on teasa.
It is deliberately small, deliberately boring, and deliberately safe: three read-only tools, public data only, no credentials, no write access. That is the whole point.
What you can build with it
Point your assistant at the teasa catalog and it can:
- Find the right companion for a mood or genre. "Find me a slow-burn fantasy story with a mentor dynamic" becomes a single
search_companionscall with structured filters, ranked by the same public discovery index the teasa app uses. - Pull a companion's full public card.
get_companiontakes a slug and returns the public listing — name, premise, cast and lore summaries, genres, pacing, content level, and content warnings — exactly what a human sees on the public page, and nothing more. - Browse a creator's shelf.
get_creatorreturns a creator's public profile and every publicly listed companion they have published, with attribution intact.
Recommendation bots, catalog dashboards, research into the AI companion space, or just letting your daily-driver assistant answer "what should I read tonight?" — anything that needs structured access to a public companion catalog, without scraping.
Quick start
Requires Node 20+. Run it with npx:
npx @teasa/mcp-server
Or register it in your MCP client config:
{
"mcpServers": {
"teasa": {
"command": "npx",
"args": ["-y", "@teasa/mcp-server"]
}
}
}
The server speaks MCP over stdio and needs zero configuration. One optional environment variable, TEASA_API_URL, points it at a different API instance for local development.
Tool reference
| Tool | Input | Output |
|---|---|---|
search_companions |
query, optional genre, optional maxContentLevel, optional limit |
Ranked public companion cards with pagination cursor |
get_companion |
slug |
One public companion card, or null |
get_creator |
handle |
Public creator profile plus their public companion cards |

Three deliberate paths, one controlled junction, and no hidden access.
Built read-only, on purpose
Most MCP servers ask you to trust them with API keys and write access. This one is designed so there is nothing to trust:
- Read-only by construction. The server only issues GET requests against teasa's public, unauthenticated endpoints. It cannot post, edit, delete, or authenticate as anyone.
- Public data only, enforced structurally. Every API response is re-parsed through strict allowlist schemas before it reaches your model. Private drafts, chat history, memories, ownership fields, and moderation internals are not filtered out — they are unreachable. Even if the upstream API over-returned, the extra fields would be stripped.
- A hard content ceiling. teasa is an 18+ product, and the platform's content schema tops out at a
maturerating — there is no explicit content anywhere on teasa, by policy and by schema. The MCP server enforces this again on its own side: anything abovemature, or carrying an unrecognized content level, is dropped before serialization. Clients can lower the ceiling further per request (teenoreveryone). - No telemetry, no middleman. The server is a thin, auditable translation layer between MCP and the public API. What you see in the source is what runs.
This is the same public-DTO allowlist discipline the teasa web and mobile apps are built on, applied to the agent ecosystem.
Open source
The server ships as a compact TypeScript package: a stdio entrypoint, one server module containing the tool handlers and allowlist schemas, and a unit-tested HTTP layer (tests run fully offline against mocked responses). Read it in ten minutes, audit it in twenty. Issues and pull requests are welcome — if you are building agent experiences on top of companion discovery and need another read-only surface (public lorebooks are next on our list), open an issue and tell us.
FAQ
Does it require a teasa account? No. It only touches public data, so there is nothing to log into.
Can it send messages to companions or read my chats? No. Chat, memory, and account data are not exposed by any tool, and the server holds no credentials that could reach them.
Which clients does it work with? Any MCP client that supports stdio servers — Claude Desktop, Claude Code, and the growing ecosystem of MCP-capable agents and IDEs.