
Stack Overflow
STDIO用于查询Stack Overflow解决编程问题的MCP服务器
用于查询Stack Overflow解决编程问题的MCP服务器
A Model Context Protocol server for querying Stack Overflow. This server helps AI models find solutions to programming problems by searching Stack Overflow questions and answers.
You can run the server directly using npx:
npx -y @gscalzo/stackoverflow-mcp
Or install it globally:
npm install -g @gscalzo/stackoverflow-mcp
Create or modify your MCP settings file:
~/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
~/Library/Application Support/Claude/claude_desktop_config.json
Add the following configuration:
{ "mcpServers": { "stackoverflow": { "command": "npx", "args": ["-y", "@gscalzo/stackoverflow-mcp"], "env": { "STACKOVERFLOW_API_KEY": "your-api-key-optional" }, "disabled": false, "autoApprove": [] } } }
The server works without authentication but has rate limits. To increase the rate limits:
The server provides three main tools:
Searches Stack Overflow for error-related questions:
interface SearchByErrorInput { errorMessage: string; // Required: Error message to search for language?: string; // Optional: Programming language technologies?: string[]; // Optional: Related technologies minScore?: number; // Optional: Minimum score threshold includeComments?: boolean; // Optional: Include comments in results responseFormat?: "json" | "markdown"; // Optional: Response format limit?: number; // Optional: Maximum number of results }
Searches Stack Overflow questions by tags:
interface SearchByTagsInput { tags: string[]; // Required: Tags to search for minScore?: number; // Optional: Minimum score threshold includeComments?: boolean; // Optional: Include comments in results responseFormat?: "json" | "markdown"; // Optional: Response format limit?: number; // Optional: Maximum number of results }
Analyzes stack traces to find relevant solutions:
interface StackTraceInput { stackTrace: string; // Required: Stack trace to analyze language: string; // Required: Programming language includeComments?: boolean; // Optional: Include comments in results responseFormat?: "json" | "markdown"; // Optional: Response format limit?: number; // Optional: Maximum number of results }
{ "name": "search_by_error", "arguments": { "errorMessage": "TypeError: Cannot read property 'length' of undefined", "language": "javascript", "technologies": ["react"], "minScore": 5, "includeComments": true, "responseFormat": "markdown", "limit": 3 } }
{ "name": "search_by_tags", "arguments": { "tags": ["python", "pandas", "dataframe"], "minScore": 10, "includeComments": true, "responseFormat": "json", "limit": 5 } }
{ "name": "analyze_stack_trace", "arguments": { "stackTrace": "Error: ENOENT: no such file or directory, open 'config.json'\n at Object.openSync (fs.js:476:3)\n at Object.readFileSync (fs.js:377:35)", "language": "javascript", "includeComments": true, "responseFormat": "markdown", "limit": 3 } }
Responses include:
The markdown format provides a nicely formatted view with:
npm run watch
npm test
MIT