@Gscalzo/Stackoverflow
FreeNot checkedA Model Context Protocol server that enables querying Stack Overflow for programming solutions, including search by error messages, tags, and stack trace analys
About
A Model Context Protocol server that enables querying Stack Overflow for programming solutions, including search by error messages, tags, and stack trace analysis.
README
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
Install @Gscalzo/Stackoverflow in Claude Desktop, Claude Code & Cursor
unyly install gscalzo-stackoverflow-mcpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add gscalzo-stackoverflow-mcp -- npx -y github:gscalzo/stackoverflow-mcpFAQ
Is @Gscalzo/Stackoverflow MCP free?
Yes, @Gscalzo/Stackoverflow MCP is free — one-click install via Unyly at no cost.
Does @Gscalzo/Stackoverflow need an API key?
No, @Gscalzo/Stackoverflow runs without API keys or environment variables.
Is @Gscalzo/Stackoverflow hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install @Gscalzo/Stackoverflow in Claude Desktop, Claude Code or Cursor?
Open @Gscalzo/Stackoverflow on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare @Gscalzo/Stackoverflow with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
