Lets agents discover, search and analyze data in Typesense collections, retrieve documents by ID and read collection statistics.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add typesense --env TYPESENSE_HOST='<TYPESENSE_HOST>' --env TYPESENSE_PORT='<TYPESENSE_PORT>' --env TYPESENSE_PROTOCOL='<TYPESENSE_PROTOCOL>' --env TYPESENSE_API_KEY='<TYPESENSE_API_KEY>' -- npx -y typesense-mcp-server --host '{{config.TYPESENSE_HOST}}' --port '{{config.TYPESENSE_PORT}}' --protocol '{{config.TYPESENSE_PROTOCOL}}' --api-key '{{config.TYPESENSE_API_KEY}}'~/.codex/config.toml
[mcp_servers.typesense]
command = "npx"
args = ["-y", "typesense-mcp-server", "--host", "{{config.TYPESENSE_HOST}}", "--port", "{{config.TYPESENSE_PORT}}", "--protocol", "{{config.TYPESENSE_PROTOCOL}}", "--api-key", "{{config.TYPESENSE_API_KEY}}"]
env = { TYPESENSE_HOST = "<TYPESENSE_HOST>", TYPESENSE_PORT = "<TYPESENSE_PORT>", TYPESENSE_PROTOCOL = "<TYPESENSE_PROTOCOL>", TYPESENSE_API_KEY = "<TYPESENSE_API_KEY>" }
# codex mcp add typesense --env TYPESENSE_HOST='<TYPESENSE_HOST>' --env TYPESENSE_PORT='<TYPESENSE_PORT>' --env TYPESENSE_PROTOCOL='<TYPESENSE_PROTOCOL>' --env TYPESENSE_API_KEY='<TYPESENSE_API_KEY>' -- npx -y typesense-mcp-server --host '{{config.TYPESENSE_HOST}}' --port '{{config.TYPESENSE_PORT}}' --protocol '{{config.TYPESENSE_PROTOCOL}}' --api-key '{{config.TYPESENSE_API_KEY}}'~/.cursor/mcp.json
{
"mcpServers": {
"typesense": {
"command": "npx",
"args": [
"-y",
"typesense-mcp-server",
"--host",
"{{config.TYPESENSE_HOST}}",
"--port",
"{{config.TYPESENSE_PORT}}",
"--protocol",
"{{config.TYPESENSE_PROTOCOL}}",
"--api-key",
"{{config.TYPESENSE_API_KEY}}"
],
"env": {
"TYPESENSE_HOST": "<TYPESENSE_HOST>",
"TYPESENSE_PORT": "<TYPESENSE_PORT>",
"TYPESENSE_PROTOCOL": "<TYPESENSE_PROTOCOL>",
"TYPESENSE_API_KEY": "<TYPESENSE_API_KEY>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"typesense": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"typesense-mcp-server",
"--host",
"{{config.TYPESENSE_HOST}}",
"--port",
"{{config.TYPESENSE_PORT}}",
"--protocol",
"{{config.TYPESENSE_PROTOCOL}}",
"--api-key",
"{{config.TYPESENSE_API_KEY}}"
],
"env": {
"TYPESENSE_HOST": "<TYPESENSE_HOST>",
"TYPESENSE_PORT": "<TYPESENSE_PORT>",
"TYPESENSE_PROTOCOL": "<TYPESENSE_PROTOCOL>",
"TYPESENSE_API_KEY": "<TYPESENSE_API_KEY>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"typesense": {
"command": "npx",
"args": [
"-y",
"typesense-mcp-server",
"--host",
"{{config.TYPESENSE_HOST}}",
"--port",
"{{config.TYPESENSE_PORT}}",
"--protocol",
"{{config.TYPESENSE_PROTOCOL}}",
"--api-key",
"{{config.TYPESENSE_API_KEY}}"
],
"env": {
"TYPESENSE_HOST": "<TYPESENSE_HOST>",
"TYPESENSE_PORT": "<TYPESENSE_PORT>",
"TYPESENSE_PROTOCOL": "<TYPESENSE_PROTOCOL>",
"TYPESENSE_API_KEY": "<TYPESENSE_API_KEY>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"typesense": {
"command": "npx",
"args": [
"-y",
"typesense-mcp-server",
"--host",
"{{config.TYPESENSE_HOST}}",
"--port",
"{{config.TYPESENSE_PORT}}",
"--protocol",
"{{config.TYPESENSE_PROTOCOL}}",
"--api-key",
"{{config.TYPESENSE_API_KEY}}"
],
"env": {
"TYPESENSE_HOST": "<TYPESENSE_HOST>",
"TYPESENSE_PORT": "<TYPESENSE_PORT>",
"TYPESENSE_PROTOCOL": "<TYPESENSE_PROTOCOL>",
"TYPESENSE_API_KEY": "<TYPESENSE_API_KEY>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"typesense": {
"command": "npx",
"args": [
"-y",
"typesense-mcp-server",
"--host",
"{{config.TYPESENSE_HOST}}",
"--port",
"{{config.TYPESENSE_PORT}}",
"--protocol",
"{{config.TYPESENSE_PROTOCOL}}",
"--api-key",
"{{config.TYPESENSE_API_KEY}}"
],
"env": {
"TYPESENSE_HOST": "<TYPESENSE_HOST>",
"TYPESENSE_PORT": "<TYPESENSE_PORT>",
"TYPESENSE_PROTOCOL": "<TYPESENSE_PROTOCOL>",
"TYPESENSE_API_KEY": "<TYPESENSE_API_KEY>"
}
}
}
}Environment variables
TYPESENSE_HOSTTYPESENSE_PORTTYPESENSE_PROTOCOLTYPESENSE_API_KEY
Replace the placeholders with your own credentials and keep them out of version control.