# WindowsForum MCP Server

> Search WindowsForum.com threads, posts, and Windows news; fetch documents and Microsoft KB info.

- name: com.windowsforum/mcp-server
- version: 3.0.0
- connection class: R0 (autonomous)
- trust: 76/100 flags: no-repository
- quality: 70/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.windowsforum%2Fmcp-server
- tools: https://api.protogrid.dev/v1/servers/com.windowsforum%2Fmcp-server/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "windowsforum": {
      "type": "http",
      "url": "https://mcp.windowsforum.com/"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 65
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% ~updated-100d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 70/100 (needs work)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 79 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 1 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 29 of 29 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: search (idempotentHint); fetch (idempotentHint); supplement_status (idempotentHint); …
- pass `tools.token_cost`: about 5,200 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 19 tool changes in 30 days
- fail `stability.rug_pull`: 6 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 29, about 5,200 tokens to load them all
- tool set hash: abdb1e5c4b23aa5d7d000fc320152e06
- tools last changed: 2026-10-09T06:30:56.248Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.windowsforum/mcp-server.svg)](https://protogrid.dev/servers/com.windowsforum/mcp-server)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-09 `get_forum_statistics` changed (description)
  - before: Get sitewide WindowsForum statistics — total threads, posts, and members, plus threads and posts created today; use for questions about the community's size and activity. Returns: Dictionary with various forum statistics
  - after: Get sitewide WindowsForum statistics — total threads, posts, and members, plus threads and posts created today; use for questions about the community's size and activity.
- 2026-10-09 `get_online_users` changed (description)
  - before: See who is on WindowsForum right now — counts of members, guests, and robots active in the last 15 minutes, with the names of online members who show their online status. Returns: Dictionary with online member names and member, guest, and robot counts
  - after: See who is on WindowsForum right now — counts of members, guests, and robots active in the last 15 minutes, with the names of online members who show their online status.
- 2026-10-09 `search_elastic` changed (inputSchema)
- 2026-10-09 `search_kb` changed (description)
  - before: Search official Microsoft Knowledge Base articles for Windows 10, Windows 11, and Windows Server updates by topic, keyword, build, or KB number — use for Windows update, patch, and known-issue lookups when you lack a KB number. Returns matching KB article titles, release dates, and support.microsoft.com URLs, newest first. Use get_kb_article to fetch the full content of a specific article. Returns: Dictionary with 'results' key containing matching KB articles with kb_id, title, url, release_date, and applies_to.
  - after: Search official Microsoft Knowledge Base articles for Windows 10, Windows 11, and Windows Server updates by topic, keyword, build, or KB number — use for Windows update, patch, and known-issue lookups when you lack a KB number. Returns matching KB article titles, release dates, and support.microsoft.com URLs, newest first. Use get_kb_article to fetch the full content of a specific article.
- 2026-10-09 `get_time` changed (description)
  - before: Get the current server date and time — use to anchor time-sensitive queries like 'latest' or 'this week' before searching recent content. Returns: Current timestamp in ISO format
  - after: Get the current server date and time — use to anchor time-sensitive queries like 'latest' or 'this week' before searching recent content.
- 2026-10-09 `search_threads` changed (description, inputSchema) **meaning changed**
  - before: Search WindowsForum threads with structured controls — sort by relevance or date, in either order, with pagination; use when result ordering or paging matters. Latest/newest requests replace the default relevance sort with date order; a query such as 'latest tutorials' lists that section without requiring those words in the content. Views/replies sorting is unavailable. The total is exact when total_relation is 'eq', otherwise a verified public lower bound ('gte'); use has_more and next_from to continue. If pagination_limited is true, narrow the query or section instead of paging further.
  - after: Search WindowsForum threads with structured controls — sort by relevance, date, views or replies, in either order, with pagination; use when result ordering or paging matters. Latest/newest requests replace the default relevance sort with date order; a query such as 'latest tutorials' lists that section without requiring those words in the content. Views/replies sort the complete indexed matching corpus inside a frozen snapshot; they require a complete, fresh popularity index. Counts shown for these sorts come from that index snapshot, with a conservative counts_as_of freshness watermark. Ranking metadata identifies an applied database transaction barrier or a rolling metadata sweep. Native view totals are source-aggregated on approximately a 15-minute cadence, so recent visits and subsequent source changes may not yet be reflected. For popularity continuation pass next_cursor as cursor, leaving from_=0; cursors are short-lived (well under two minutes), so page promptly and start again from the first page if one has expired. The total is exact when total_relation is 'eq', otherwise a verified public lower bound ('gte'); use has_more and next_from to continue. If pagination_limited is true, narrow the query or section instead of paging further.
- 2026-10-09 `search_elastic` changed (description, inputSchema) **meaning changed**
  - before: Relevance-ranked full-text thread search with explicit offset pagination — use to page through a large result set beyond what the main search tool returns. Complements the main `search` tool: use this to page through a large result set with an explicit offset.
  - after: Relevance-ranked full-text thread search with explicit offset pagination — use to page through a large result set beyond what the main search tool returns. The total is exact when total_relation is 'eq', otherwise a verified public lower bound ('gte'); use has_more and next_from to continue. If pagination_limited is true, narrow the query or section instead of paging further. Complements the main `search` tool: use this to page through a large result set with an explicit offset.
- 2026-10-09 `get_thread_posts` changed (description, inputSchema, outputSchema) **meaning changed**
  - before: Read every post in a WindowsForum thread by thread id, in order — use to follow the full conversation, including replies and accepted solutions, after finding a thread via search.
  - after: Read a page of visible posts in a WindowsForum thread, oldest first. Follow pagination.next_offset while pagination.has_more to read the full conversation, including later replies and accepted solutions.
- 2026-10-09 `search_threads` changed (description, inputSchema) **meaning changed**
  - before: Search WindowsForum threads with structured controls — sort by relevance, date, replies, or views, in either order, with pagination; use when result ordering or paging matters.
  - after: Search WindowsForum threads with structured controls — sort by relevance or date, in either order, with pagination; use when result ordering or paging matters. Latest/newest requests replace the default relevance sort with date order; a query such as 'latest tutorials' lists that section without requiring those words in the content. Views/replies sorting is unavailable. The total is exact when total_relation is 'eq', otherwise a verified public lower bound ('gte'); use has_more and next_from to continue. If pagination_limited is true, narrow the query or section instead of paging further.
- 2026-10-09 `fetch` changed (description) **meaning changed**
  - before: Retrieve the complete content of a WindowsForum document (thread or post) by ID — use after search to read the full discussion for detailed analysis and citation. Returns the full text for detailed analysis and citation, including title, URL, and metadata. Use it to expand a search result into its whole document.
  - after: Retrieve a WindowsForum document by ID for analysis and citation. Posts are returned in full. Threads include their first 50 visible posts. Check metadata.truncated and metadata.pagination; continue long threads with get_thread_posts(thread_id, offset=next_offset).

Full history: https://api.protogrid.dev/v1/servers/com.windowsforum%2Fmcp-server/changes

## Remotes

- https://mcp.windowsforum.com/ (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (29)

- `corpus_stats`: Get aggregate health of the Key-Facts supplement corpus — status histogram, how many eligible articles still have no supplement, how many approved cards went dark from article edits (drifted), and the latest generation run summary.
- `fetch`: Retrieve a WindowsForum document by ID for analysis and citation.

Posts are returned in full. Threads include their first 50 visible posts.
Check metadata.truncated and metadata.pagination; continue long threads
with get_thread_posts(thread_id, offset=next_offset).
- `get_forum`: Get a WindowsForum forum section's details by node id — title, description, and thread/message counts; pair with list_threads or get_forum_updates to see its activity.
- `get_forum_statistics`: Get sitewide WindowsForum statistics — total threads, posts, and members, plus threads and posts created today; use for questions about the community's size and activity.
- `get_forum_updates`: Summarize recent WindowsForum activity over the last N hours (default 24) — new threads and posts across the community; use for "what's new" questions.
- `get_kb_article`: Retrieve an official Microsoft Knowledge Base article from support.microsoft.com by KB number (e.g. KB5063878) — returns the update's title, summary, and affected builds.
Use this tool when a user asks about a specific KB number.
Fetches the full article content including title, summary, known issues,
and resolution steps.
- `get_latest_registered_users`: List the newest WindowsForum member registrations — use for community-growth questions or to identify recent joiners.

Only confirmed, non-banned accounts are listed, as on the forum's own
"New members" list.
- `get_online_users`: See who is on WindowsForum right now — counts of members, guests, and robots active in the last 15 minutes, with the names of online members who show their online status.
- `get_post`: Get a single WindowsForum post by post id — returns the post's text, author, thread context, and URL; use when you have a specific post reference to verify or quote.
- `get_thread`: Get a WindowsForum thread's metadata by id — title, author, reply and view counts, dates, and canonical URL; use fetch or get_thread_posts to read its content.
- `get_thread_posts`: Read a page of visible posts in a WindowsForum thread, oldest first.
Follow pagination.next_offset while pagination.has_more to read the
full conversation, including later replies and accepted solutions.
- `get_time`: Get the current server date and time — use to anchor time-sensitive queries like 'latest' or 'this week' before searching recent content.
- `get_user`: Look up a WindowsForum member's public profile by username or user id — registration date, message count, reaction score, last seen, and profile URL.

Only what a signed-out visitor could see on the member's profile page is
returned: members who limit their profile get a username-only result,
and last seen is omitted for members who hide their online status.
- `get_windows_news_posts`: Get WindowsForum's recent Windows news coverage from the last N days (default 7) — curated news threads on updates, security patches, and Microsoft announcements.
- `list_drifted`: List article threads whose approved Key-Facts card is dark because the opening post was edited after approval (content-hash drift). These are exactly what the hourly fill driver repairs next.
- `list_threads`: List the newest WindowsForum threads, news articles or tutorials, newest first, with no search query — use when the user asks for the latest, newest or most recent tutorials, news or threads. Pass each item's `id` to render_search_results to show them as a card.
- `render_community_overview`: Show a WindowsForum.com community overview card: total threads, posts, and members, who is online now, and the latest threads. Use for questions about the community's size or current activity.
- `render_kb_article`: Show an official Microsoft Knowledge Base article to the user as a card with its title, highlights, and link to support.microsoft.com. Use when the user asks to see a specific KB article.
- `render_search_results`: Show WindowsForum threads, news articles, tutorials or posts to the user as a result card, grouped by section. Call search or list_threads first, pick the results that answer the request (keep their order), then pass their ids here; the card displays each item's title, snippet, author, date, and link.
- `render_thread`: Show a WindowsForum thread to the user as a readable card with its opening post and replies. Use after search or fetch when the user wants to see or open a specific discussion.
- `search`: Search all WindowsForum content (community threads, Windows news, tutorials) with combined keyword and semantic ranking — the best first call for any question or topic. Keep section 'all' unless the user asks for one kind of content. For the latest/newest items set sort='newest' (a query with no topic, such as 'latest tutorials', returns the newest items). Pass the result ids to render_search_results to show them as a card.

Returns a list of search results with basic information. Use the fetch tool
for document content and continuation details for long threads.
- `search_elastic`: Relevance-ranked full-text thread search with explicit offset pagination — use to page through a large result set beyond what the main search tool returns. The total is exact when total_relation is 'eq', otherwise a verified public lower bound ('gte'); use has_more and next_from to continue. If pagination_limited is true, narrow the query or section instead of paging further.

Complements the main `search` tool: use this to page through a large result
set with an explicit offset.
- `search_kb`: Search official Microsoft Knowledge Base articles for Windows 10, Windows 11, and Windows Server updates by topic, keyword, build, or KB number — use for Windows update, patch, and known-issue lookups when you lack a KB number.
Returns matching KB article titles, release dates, and support.microsoft.com
URLs, newest first. Use get_kb_article to fetch the full content of a specific article.
- `search_mysql`: Exact substring lookup over thread titles and author usernames, ordered by view count — use for literal title or author matching rather than relevance-ranked full-text search.

Complements the main `search` tool: use this for literal title or author
matching rather than relevance-ranked full-text search.
- `search_posts`: Search individual WindowsForum posts (not just thread titles) for a keyword or phrase — use to find specific answers, error messages, or fixes buried inside long threads.
- `search_semantic`: Find WindowsForum discussions by meaning rather than exact words — embedding-based semantic search that excels at natural-language questions and paraphrased topics.

Uses kNN vector similarity to find content that is semantically related
to the query, even if it doesn't share exact keywords. Best for natural
language questions and conceptual searches.
- `search_threads`: Search WindowsForum threads with structured controls — sort by relevance, date, views or replies, in either order, with pagination; use when result ordering or paging matters. Latest/newest requests replace the default relevance sort with date order; a query such as 'latest tutorials' lists that section without requiring those words in the content. Views/replies sort the complete indexed matching corpus inside a frozen snapshot; they require a complete, fresh popularity index. Counts shown for these sorts come from that index snapshot, with a conservative counts_as_of freshness watermark. Ranking metadata identifies an applied database transaction barrier or a rolling metadata sweep. Native view totals are source-aggregated on approximately a 15-minute cadence, so recent visits and subsequent source changes may not yet be reflected. For popularity continuation pass next_cursor as cursor, leaving from_=0; cursors are short-lived (well under two minutes), so page promptly and start again from the first page if one has expired. The total is exact when total_relation is 'eq', otherwise a verified public lower bound ('gte'); use has_more and next_from to continue. If pagination_limited is true, narrow the query or section instead of paging further.
- `search_users`: Find WindowsForum members whose usernames match a query — use to locate a member before calling get_user for their full profile.
- `supplement_status`: Get the Key-Facts supplement state for one article thread — lifecycle status (approved/held/validated/draft), whether it is the live 'current' revision, and whether the sidebar card is actually rendering, dark because the article was edited after approval (drifted), or absent.

Use to answer 'why is there no Key-Facts card on thread N?'.
