Advantages of Local Setup
- Full Control: Customize server configuration, add providers, and modify behavior
- Latest Features: Access development features before they reach Docker releases
- Multiple Transports: Choose stdio, SSE, or HTTP transport modes
- Current Tool Surface: Use
remember,recall, andforgetalongside compatibility tools - Development Ready: Debug, modify, and contribute to the codebase
Setup Steps
Install Dependencies
First, install the uv package manager for your operating system:Then install the project dependencies. These commands are the same on every platform:
- macOS / Linux
- Windows
- Any (pip)
When to re-run
uv sync. Re-run it after pulling new commits, switching branches, or updating Cognee — anytime pyproject.toml or uv.lock may have changed. For routine refreshes, use uv sync --dev --all-extras; keep --reinstall for the first install or when your environment looks stale or broken.Running in API Mode
To connect the MCP server to an existing Cognee backend instead of running standalone:--api-url is provided, the MCP server acts as an interface to the centralized backend. This allows multiple MCP instances and clients to share the same knowledge graph.
You can also pass these as command-line arguments:
The source-run
uv run cognee-mcp entrypoint reads --api-url and --api-token flags. The API_URL and API_TOKEN environment variables are used by the Docker entrypoint wrapper, not by the source runner directly.- Team collaboration with shared memory
- Multiple AI clients accessing consistent data
- Centralized knowledge graph management
Further details
Transport Modes
Transport Modes
Choose the transport mode based on your client requirements:
- stdio (default)
- HTTP
- SSE
Default mode for most MCP clients. The client starts the server as a subprocess and communicates through standard input/output.Configure your MCP client to launch the server directly:Replace
/absolute/path/to/cognee-mcp with the actual path to your cloned cognee-mcp directory.Server Arguments Reference
Server Arguments Reference
All available arguments for
Example with all options:
uv run cognee-mcp:| Argument | Default | Description |
|---|---|---|
--transport | stdio | Transport protocol: stdio, http, or sse |
--host | 127.0.0.1 | Host to bind the server to (HTTP/SSE only) |
--port | 8000 | Port to bind the server to (HTTP/SSE only) |
--path | /mcp | URL path for the HTTP endpoint |
--log-level | info | Log verbosity: debug, info, warning, or error |
--no-migration | off | Skip database migrations on startup |
--api-url | — | URL of a running Cognee backend (enables API mode) |
--api-token | — | Auth token for the backend API (if required) |
--serve-url | — | Cognee Cloud or remote instance URL used with cognee.serve() |
--serve-api-key | — | API key for the --serve-url instance |
Transport Security (DNS Rebinding & CORS)
Transport Security (DNS Rebinding & CORS)
The HTTP and SSE transports validate the
Local development (default): No configuration needed. The server binds to In this example, These variables can also be set in your
Host and Origin headers on every request to protect against DNS rebinding attacks. By default, only loopback addresses (127.0.0.1, localhost, [::1]) are accepted. If you bind the server to 0.0.0.0 or a LAN IP — for example, to access it from another machine over SSH or a private network — you must whitelist the hosts you connect with, or requests will be rejected.| Variable | Default | Description |
|---|---|---|
MCP_ALLOWED_HOSTS | — | Comma-separated extra Host header patterns to accept (e.g. 192.168.1.50:*,myserver.local:*). Each entry must include the :* port glob. Matching Origin values (http://<host>) are added automatically. |
MCP_DISABLE_DNS_REBINDING_PROTECTION | false | Set to true to disable all Host/Origin validation. Use only in trusted networks (LAN, Docker, VPN) where you control all clients. |
MCP_CORS_ALLOW_ORIGINS | http://localhost:3000 | Comma-separated origins allowed by the CORS middleware on the HTTP and SSE endpoints. |
127.0.0.1 and accepts requests from the loopback defaults.Remote deployment — strict (recommended): Run the MCP server on a remote box and connect from a local AI client. Whitelist the hostname your client uses to reach the MCP server, and set CORS to the browser or app origins that will call it.MCP_ALLOWED_HOSTS covers the MCP server hostnames clients connect to, while MCP_CORS_ALLOW_ORIGINS covers the calling page or app origins.Remote deployment — permissive: Disable protection entirely on a trusted private network. This skips both Host and Origin validation..env file alongside LLM_API_KEY and other configuration. They apply equally to source runs (uv run cognee-mcp) and the Docker image used in the Quickstart.The preferred MCP workflow is to use
remember, recall, and forget. The server also exposes legacy-compatible tools such as cognify and search when you need lower-level control.Next Steps
After starting the server, configure your AI client to connect to it. See the integrations section for client-specific setup instructions.Need Help?
Join Our Community
Get support and connect with other developers using Cognee MCP.