Skip to main content
Glama

stackexchange-mcp-server

Server Details

Search Stack Exchange questions, fetch Q&A threads as markdown, look up tag FAQs and user profiles.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
cyanheads/stackexchange-mcp-server
GitHub Stars
1
Server Listing
@cyanheads/stackexchange-mcp-server

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.6/5 across 5 of 5 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a distinct purpose: tag-based FAQ, full thread retrieval, user profile, site enumeration, and free-text search. No functional overlap.

Naming Consistency5/5

All tools follow a consistent 'stackexchange_verb_noun' pattern using snake_case, e.g., get_tag_faq, list_sites, search_questions.

Tool Count5/5

Five tools cover the core read workflows for Stack Exchange (search, tag browsing, thread detail, user info, site discovery) without bloat.

Completeness4/5

Covers essential read operations, but lacks a tool to list a user's questions or answers, which could be useful for credibility checks.

Available Tools

5 tools
stackexchange_get_tag_faqGet Stack Exchange Tag FAQA
Read-onlyIdempotent
Inspect

Fetch the highest-voted answered questions for a tag on a Stack Exchange site — the canonical "best answers in X" list. Returns a question list without bodies; use stackexchange_get_thread to read the full body and answers for any result. Use this tool to find the authoritative community resources on a topic (e.g. tag "javascript" on stackoverflow). Use stackexchange_search_questions for free-text search rather than tag-based browsing.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagYesTag to look up (e.g. "python", "javascript", "docker"). Must match exactly.
siteNoStack Exchange site — use the api_site_parameter value (e.g. "stackoverflow", "superuser"). Defaults to "stackoverflow". Call stackexchange_list_sites to discover valid values.stackoverflow
pageSizeNoNumber of results to return (1–30, default 10).

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe pageSize cap applied to this request.
tagYesTag name used for this FAQ lookup.
siteYesStack Exchange site api_site_parameter used for this lookup.
shownNoNumber of results returned.
noticeNoActionable guidance when results are empty or filtered.
quotaMaxYesMaximum API quota calls per day (300 keyless, ~10,000 with API key).
questionsYesHighest-voted answered questions for the specified tag, ordered by votes.
truncatedNoTrue when results were capped at pageSize.
attributionYesContent license notice. Stack Exchange content is licensed under CC BY-SA 4.0 and requires attribution.
quotaRemainingYesRemaining API quota calls for the current day.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds the useful behavioral note that the returned list lacks question bodies, which is not covered by annotations. No contradiction present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no wasted words. The purpose is stated upfront, followed by concise usage instructions and a link to a sibling. Efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of output schema (mentioned) and thorough annotations, the description is sufficient. It specifies the return content (list without bodies) and points to stackexchange_get_thread for deeper access, ensuring completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage, so the baseline is 3. The description does not significantly add meaning beyond the schema, aside from re-emphasizing the site parameter's value format. No additional semantics provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches the highest-voted answered questions for a tag, serving as the canonical 'best answers in X' list. It distinguishes itself from sibling tools by mentioning stackexchange_search_questions for free-text search and stackexchange_get_thread for reading full bodies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance on when to use this tool (finding authoritative community resources) and when to use alternatives (stackexchange_search_questions for free-text, stackexchange_get_thread for full details). This leaves no ambiguity for the AI agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stackexchange_get_threadGet Stack Exchange Q&A ThreadA
Read-onlyIdempotent
Inspect

Fetch a complete Q&A thread — question body and all answers, accepted answer first then sorted by score, rendered as clean markdown with fenced code blocks. Accepts an integer question ID or a full Stack Exchange question URL (e.g. "https://stackoverflow.com/questions/11227809/why-is-processing-a-sorted-array-faster" or "11227809"). HTML is normalized to markdown automatically; attribution (author + link) included per CC BY-SA 4.0. Get question IDs from stackexchange_search_questions or stackexchange_get_tag_faq.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoStack Exchange site — use the api_site_parameter value (e.g. "stackoverflow", "superuser"). Defaults to "stackoverflow". Must match the site where the question lives. Call stackexchange_list_sites to discover valid values.stackoverflow
maxAnswersNoMaximum number of answers to include (1–100, default 10). Answers are sorted: accepted first, then by score.
questionIdOrUrlYesNumeric question ID (e.g. "11227809") or a full Stack Exchange question URL (e.g. "https://stackoverflow.com/questions/11227809/why-is-processing-a-sorted-array-faster"). The integer immediately following /questions/ is extracted from URLs.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe maxAnswers cap applied to this request.
linkYesDirect URL to the question.
tagsYesTags applied to this question.
scoreYesQuestion score (upvotes minus downvotes).
shownNoNumber of answers returned.
titleYesQuestion title.
answersYesAnswers sorted: accepted answer first, then by score descending.
quotaMaxYesMaximum API quota calls per day (300 keyless, ~10,000 with API key).
truncatedNoTrue when answers were capped at maxAnswers.
authorLinkNoQuestion author profile URL when available.
authorNameNoQuestion author display name when available.
questionIdYesNumeric question ID — identifies this thread on the site.
answerCountNoTotal answers the question has upstream. When greater than the returned answers[] length, more answers exist — raise maxAnswers to fetch them.
authorUserIdNoQuestion author numeric user ID when available — pass to stackexchange_get_user to fetch the full profile.
bodyMarkdownYesQuestion body normalized from HTML to markdown.
quotaRemainingYesRemaining API quota calls for the current day.
acceptedAnswerIdNoID of the accepted answer when one exists.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, openWorldHint, idempotentHint. The description adds valuable behavioral details: automatic HTML-to-markdown normalization, CC BY-SA 4.0 attribution inclusion, and answer sorting (accepted first, then by score). No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with no wasted words. It front-loads the core purpose and output format in the first sentence, then efficiently adds input details and attribution notes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (not shown but indicated), the description covers all necessary input aspects, behavior, and provenance of IDs. It is complete for an agent to select and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage, but the description adds meaningful context: for questionIdOrUrl, explains both integer and URL formats; for site, clarifies usage of api_site_parameter and list_sites; for maxAnswers, specifies range and sorting behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Fetch a complete Q&A thread' with specifics on output format (markdown with code blocks) and sorting order. It distinguishes itself from sibling tools by directing to 'stackexchange_search_questions' or 'stackexchange_get_tag_faq' for obtaining IDs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit instructions on input formats (integer ID or URL) and how to find IDs via sibling tools. It also mentions the site parameter and how to discover valid sites via 'stackexchange_list_sites'. No explicit when-not-to-use, but context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stackexchange_get_userGet Stack Exchange User ProfileA
Read-onlyIdempotent
Inspect

Fetch a Stack Exchange user profile by numeric user ID: reputation, badge counts, top tags by answer score, and account metadata. Useful for credibility context on an answer author — pass the authorUserId from any question or answer in stackexchange_get_thread output. Returns profile fields plus up to 10 top tags by answer score.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoStack Exchange site — use the api_site_parameter value (e.g. "stackoverflow", "superuser"). Defaults to "stackoverflow". Call stackexchange_list_sites to discover valid values.stackoverflow
userIdYesNumeric user ID — use the authorUserId field from a question or answer in stackexchange_get_thread output.

Output Schema

ParametersJSON Schema
NameRequiredDescription
linkYesDirect URL to the user profile.
userIdYesNumeric user ID on this Stack Exchange site.
topTagsYesTop tags by answer score (up to 10). Empty array for new users with no answers.
locationNoUser-provided location string when available.
quotaMaxYesMaximum API quota calls per day (300 keyless, ~10,000 with API key).
reputationYesUser reputation score.
websiteUrlNoUser-provided website URL when available.
answerCountNoTotal number of answers posted when provided by the API.
badgeCountsNoBadge counts when provided by the API.
displayNameYesDisplay name shown on the site.
questionCountNoTotal number of questions posted when provided by the API.
quotaRemainingYesRemaining API quota calls for the current day.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds value by specifying the returned fields (reputation, badge counts, top tags) and a limit of 10 top tags, providing behavioral context beyond annotations. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short, information-dense sentences. The first sentence states the core action and return data, the second sentence provides usage guidance. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description adequately covers the purpose, input, and usage. The tool is simple (read-only fetch), so the description is sufficient. It mentions return fields and a limit, but lacks details on error handling or edge cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with both parameters (site and userId) well-documented. The description reinforces the source of the userId (from stackexchange_get_thread) but adds minimal new meaning beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches a Stack Exchange user profile by numeric user ID, listing specific fields. It distinguishes itself from sibling tools like stackexchange_get_thread (threads) and stackexchange_search_questions (searching). The verb 'fetch' and resource 'user profile' are explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states it is useful for credibility context on an answer author and instructs to pass the authorUserId from stackexchange_get_thread output. This provides a clear when-to-use scenario, but it does not mention when not to use or specify alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stackexchange_list_sitesList Stack Exchange SitesA
Read-onlyIdempotent
Inspect

Enumerate all sites in the Stack Exchange network — name, api_site_parameter, audience, and URL. The api_site_parameter value is what other tools accept as the site input (e.g. "stackoverflow", "superuser", "serverfault"). Results are fetched live and optionally filtered by name. Use this tool to discover valid site parameters before calling other stackexchange_* tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNoOptional case-insensitive name filter — returns only sites whose name contains all provided tokens. Omit to return all sites.

Output Schema

ParametersJSON Schema
NameRequiredDescription
sitesYesStack Exchange network sites matching the optional name filter.
noticeNoActionable guidance when results are empty or filtered.
quotaMaxYesMaximum API quota calls per day (300 keyless, ~10,000 with API key).
totalCountYesTotal number of sites returned after filtering.
quotaRemainingYesRemaining API quota calls for the current day.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only and idempotent behavior. The description adds that results are fetched live and filtered optionally, providing extra behavioral context without redundancy.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose, no wasted words. Clearly structured with purpose, output fields, usage advice, and parameter behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description need not detail return values. It covers all necessary context: purpose, key output fields, filtering, and usage in the tool ecosystem.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage and description explains the filter parameter's case-insensitive substring matching. It also elaborates on the significance of api_site_parameter in output, adding value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it enumerates all Stack Exchange sites with specific fields (name, api_site_parameter, audience, URL) and distinguishes from sibling tools that focus on specific sites or operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises to use this tool to discover valid site parameters before calling other stackexchange_* tools, providing clear when-to-use and how to use the results.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stackexchange_search_questionsSearch Stack Exchange QuestionsA
Read-onlyIdempotent
Inspect

Search questions across a Stack Exchange site. Returns ranked questions with title, score, answer count, accepted status, tags, and excerpt — no bodies at this stage. Results supply question_id values for stackexchange_get_thread, which fetches the full question body and all answers. Use the site parameter to target a specific community (e.g. "stackoverflow", "superuser", "unix"); call stackexchange_list_sites to discover valid site values.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoStack Exchange site to search — use the api_site_parameter value (e.g. "stackoverflow", "superuser", "serverfault"). Defaults to "stackoverflow". Call stackexchange_list_sites to discover valid values.stackoverflow
sortNoResult ordering: "relevance" (default, best match), "votes" (highest score first), "activity" (most recently active), "newest" (most recently created).relevance
tagsNoFilter results to questions with all specified tags.
queryYesFull-text search query (e.g. "python async generator send value").
minScoreNoMinimum question score — excludes questions with lower scores. Setting minScore orders results by score (votes), which may differ from the requested sort.
pageSizeNoNumber of results to return (1–30, default 10).
acceptedOnlyNoWhen true, return only questions that have an accepted answer.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe pageSize cap applied to this request.
shownNoNumber of results returned.
noticeNoActionable guidance when results are empty or filtered.
quotaMaxYesMaximum API quota calls per day (300 keyless, ~10,000 with API key).
questionsYesQuestions matching the search query, ordered by the specified sort.
truncatedNoTrue when results were capped at pageSize.
attributionYesContent license notice. Stack Exchange content is licensed under CC BY-SA 4.0 and requires attribution.
quotaRemainingYesRemaining API quota calls for the current day.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint, openWorldHint, idempotentHint, and the description adds valuable behavioral context: it returns only titles, scores, etc., not bodies, and that results supply question_id for use with another tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four concise sentences, each providing essential information: purpose and output, relationship to sibling, parameter usage, and discovery of valid values. No fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, 1 required) and presence of an output schema, the description fully covers the tool's behavior, return data limitations, inter-tool dependencies, and parameter validation (via list_sites).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the description still adds meaning by explaining how to use the site parameter (with examples) and the relationship between parameters and the overall workflow (e.g., using results for get_thread).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches questions across a Stack Exchange site and distinguishes itself from siblings by mentioning that results provide question_id for stackexchange_get_thread and that stackexchange_list_sites discovers valid sites.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool (searching questions) and references sibling tools for related tasks (stackexchange_get_thread for full thread, stackexchange_list_sites for site discovery), offering clear alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    -
    quality
    C
    maintenance
    Wraps the StackExchange API v2.3 to enable reading StackExchange data (questions, answers, etc.) without authentication. Allows AI agents to query StackExchange content through natural language or direct tool calls.
    10
    1
    MIT
  • F
    license
    -
    quality
    D
    maintenance
    Provides LLMs with tools to search Stack Overflow for programming solutions, helping ground responses in real-world code examples.

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.