> ## Documentation Index > Fetch the complete documentation index at: https://context7.com/docs/llms.txt > Use this file to discover all available pages before exploring further. # Developer Guide > Set up and run Context7 MCP locally for development This guide covers how to set up the Context7 MCP server locally for development and testing. ## Getting Started Clone the project and install dependencies: ```bash theme={null} git clone https://github.com/upstash/context7.git cd context7 pnpm i ``` Build: ```bash theme={null} pnpm run build ``` Run the server: ```bash theme={null} node packages/mcp/dist/index.js ``` ## CLI Arguments `context7-mcp` accepts the following CLI flags: | Flag | Description | Default | | --------------------------- | ------------------------------------------------------------------------------------- | ------- | | `--transport ` | Transport to use. Use `http` for remote HTTP server or `stdio` for local integration. | `stdio` | | `--port ` | Port to listen on when using `http` transport. | `3000` | | `--api-key ` | API key for authentication (or set `CONTEXT7_API_KEY` env var). | - | Get your API key by creating an account at [context7.com/dashboard](https://context7.com/dashboard). ### Examples HTTP transport on port 8080: ```bash theme={null} node packages/mcp/dist/index.js --transport http --port 8080 ``` Stdio transport with API key: ```bash theme={null} node packages/mcp/dist/index.js --transport stdio --api-key YOUR_API_KEY ``` ## Environment Variables You can use the `CONTEXT7_API_KEY` environment variable instead of passing the `--api-key` flag. This is useful for: * Storing API keys securely in `.env` files * Integration with MCP server setups that use dotenv * Tools that prefer environment variable configuration The `--api-key` CLI flag takes precedence over the environment variable when both are provided. ### Using .env File ```bash theme={null} # .env CONTEXT7_API_KEY=your_api_key_here ``` ### MCP Configuration with Environment Variable ```json theme={null} { "mcpServers": { "context7": { "command": "npx", "args": ["-y", "@upstash/context7-mcp"], "env": { "CONTEXT7_API_KEY": "YOUR_API_KEY" } } } } ``` ## Local Development Configuration When developing locally, use this configuration to run from source: ```json theme={null} { "mcpServers": { "context7": { "command": "npx", "args": ["tsx", "/path/to/folder/context7/src/index.ts", "--api-key", "YOUR_API_KEY"] } } } ``` ## Testing with MCP Inspector Test your setup using the MCP Inspector: ```bash theme={null} npx -y @modelcontextprotocol/inspector npx @upstash/context7-mcp ``` This opens an interactive inspector to verify Context7 tools are working correctly.