Self-hosted server that indexes documentation from several sources and serves it to agents with semantic search.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add contextmcp --env PINECONE_API_KEY='<PINECONE_API_KEY>' --env OPENAI_API_KEY='<OPENAI_API_KEY>' -- npx -y contextmcp init~/.codex/config.toml
[mcp_servers.contextmcp]
command = "npx"
args = ["-y", "contextmcp", "init"]
env = { PINECONE_API_KEY = "<PINECONE_API_KEY>", OPENAI_API_KEY = "<OPENAI_API_KEY>" }
# codex mcp add contextmcp --env PINECONE_API_KEY='<PINECONE_API_KEY>' --env OPENAI_API_KEY='<OPENAI_API_KEY>' -- npx -y contextmcp init~/.cursor/mcp.json
{
"mcpServers": {
"contextmcp": {
"command": "npx",
"args": [
"-y",
"contextmcp",
"init"
],
"env": {
"PINECONE_API_KEY": "<PINECONE_API_KEY>",
"OPENAI_API_KEY": "<OPENAI_API_KEY>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"contextmcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"contextmcp",
"init"
],
"env": {
"PINECONE_API_KEY": "<PINECONE_API_KEY>",
"OPENAI_API_KEY": "<OPENAI_API_KEY>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"contextmcp": {
"command": "npx",
"args": [
"-y",
"contextmcp",
"init"
],
"env": {
"PINECONE_API_KEY": "<PINECONE_API_KEY>",
"OPENAI_API_KEY": "<OPENAI_API_KEY>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"contextmcp": {
"command": "npx",
"args": [
"-y",
"contextmcp",
"init"
],
"env": {
"PINECONE_API_KEY": "<PINECONE_API_KEY>",
"OPENAI_API_KEY": "<OPENAI_API_KEY>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"contextmcp": {
"command": "npx",
"args": [
"-y",
"contextmcp",
"init"
],
"env": {
"PINECONE_API_KEY": "<PINECONE_API_KEY>",
"OPENAI_API_KEY": "<OPENAI_API_KEY>"
}
}
}
}Environment variables
PINECONE_API_KEYOPENAI_API_KEY
Replace the placeholders with your own credentials and keep them out of version control.