About Stackoverflow MCP
Stackoverflow MCP is an MCP server published by gscalzo in the AI category: a Model Context Protocol server for querying Stack Overflow to help AI models find programming solutions.
The repository has 73 stars and 11 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/gscalzo/stackoverflow-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Stackoverflow MCP
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 5 days ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- !License declaredNo license file. Legally you have no right to use it in a product.
- ✓Tests presentA test suite exists in the repository.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
README
Stackoverflow MCP Server
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.
Features
- Search by error messages
- Search by programming language and technology tags
- Stack trace analysis
- Filter results by score/votes
- Include question and answer comments
- Output in JSON or Markdown format
Installation
You can run the server directly using npx:
npx -y @gscalzo/stackoverflow-mcp
Or install it globally:
npm install -g @gscalzo/stackoverflow-mcp
Configure the Server
Create or modify your MCP settings file:
- For Claude.app:
~/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json - For Claude Desktop:
~/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": []
}
}
}
Optional: Stack Overflow API Authentication
The server works without authentication but has rate limits. To increase the rate limits:
- Get an API key from Stack Apps
- Add the API key to your MCP settings configuration
Usage
The server provides three main tools:
1. search_by_error
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
}
2. search_by_tags
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
}
3. analyze_stack_trace
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
}
Examples
Searching by Error Message
{
"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
}
}
Searching by Tags
{
"name": "search_by_tags",
"arguments": {
"tags": ["python", "pandas", "dataframe"],
"minScore": 10,
"includeComments": true,
"responseFormat": "json",
"limit": 5
}
}
Analyzing Stack Trace
{
"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
}
}
Response Format
JSON Output
Responses include:
- Question details (title, body, score, tags, etc.)
- Answers (sorted by votes)
- Optional comments for both questions and answers
- Links to the original Stack Overflow posts
Markdown Output
The markdown format provides a nicely formatted view with:
- Question title and score
- Question body
- Comments (if requested)
- Answers with acceptance status and score
- Answer comments (if requested)
- Links to the original posts
Development
- Build in watch mode:
npm run watch
- Run tests:
npm test
Contributing
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
License
MIT
README fetched from the repository 5 days ago. The original is authoritative.