
Stack Overflow
STDIOMCP server for querying Stack Overflow to find programming problem solutions.
MCP server for querying Stack Overflow to find programming problem solutions.
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