Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Discourse MCP CLI server (stdio) exposing Discourse tools via MCP
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"discourse": {
"command": "npx",
"args": [
"-y",
"@discourse/mcp"
]
}
}
}Ejecuta esto en tu terminal
claude mcp add discourse -- npx -y @discourse/mcpPégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"discourse": {
"command": "npx",
"args": [
"-y",
"@discourse/mcp"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"discourse": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@discourse/mcp"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 6 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub discourse, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.3.1) llegó al registro hace 2 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, BankBridge
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Works in any MCP agent, including local models. Read-only bank accounts, spending, investments.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
A Model Context Protocol (MCP) stdio server that exposes Discourse forum capabilities as tools and resources for AI agents.
src/index.ts → compiled to dist/index.js (binary name: discourse-mcp)@modelcontextprotocol/sdk--allow_writes is sufficient and deprecates read_only=false; 0.3.0 added operator-selectable toolsets, structured directory output, and expanded opt-in administration capabilities; 0.2.x introduced breaking changes from 0.1.x, including JSON-only tool output; category/group resources remain deprecated compatibility surfaces alongside canonical list tools)npx -y @discourse/mcp@latest
Then, in your MCP client, either:
discourse_select_site tool with { "site": "https://try.discourse.org" } to choose a site, or--site https://try.discourse.org (in which case discourse_select_site is hidden).npx -y @discourse/mcp@latest --allow_writes --auth_pairs '[{"site":"https://try.discourse.org","api_key":"'$DISCOURSE_API_KEY'","api_username":"system"}]'
npx -y @discourse/mcp@latest --toolsets data_explorer --tools_mode discourse_api_only
This exposes discourse_select_site plus the read-only Data Explorer tools. Add --site, authentication, and the write flags as needed; see Built-in toolsets.
{
"mcpServers": { "discourse": { "command": "npx", "args": ["-y", "@discourse/mcp@latest"], "env": {} } } }
Alternative: if you prefer a global binary after install, the package exposes
discourse-mcp.
`json
{
"mcpServers": {
"discourse": { "command": "discourse-mcp", "args": [] }
}
}
`
The server registers tools under the MCP server name @discourse/mcp. Choose a target Discourse site either by:
discourse_select_site tool at runtime (validates via /about.json), or--site to tether the server to a single site at startup (validates via /about.json and hides discourse_select_site).http_basic_user and http_basic_pass to any auth_pairs entry. This is useful for Discourse sites protected by HTTP Basic Authentication at the reverse proxy level.auth_pairs; the matching entry is used for the selected site. If both user_api_key and api_key are provided for the same site, user_api_key takes precedence.--allow_writes is enabled. This includes post, topic, private-message, category, user, upload, draft, and saved Data Explorer query mutations.auth_pairs entry for the selected site; otherwise they return an error.--help, -h, or positional help: print current CLI help and exit successfully before loading profiles or starting a transport.--version, -v, or positional version: print one package-version line and exit successfully. -v means version; logging verbosity uses --log_level.--allow_writes (default: false): enable mutation tools. This single explicit opt-in is sufficient.--read_only : deprecated compatibility setting. true is an explicit read-only override and conflicts with --allow_writes; false has no effect and should be removed from commands and profiles.--timeout_ms (default: 15000)--concurrency (default: 4)--log_level (default: info)debug: Shows HTTP request URLs, statuses, and detailed network/retry information (response bodies are never logged because admin APIs may echo sensitive content)info: Shows retry attempts and general operational messageserror: Shows only errorssilent: No logging output--show_emails (default: false). includes emails in user tools. Requires admin access--tools_mode (default: auto)--toolsets : Expose selected built-in domains. Omit for the compact default catalog (all non-opt-in domains); use --toolsets all to include opt-in category/group/tag-group, moderation, workflow, and AI administration domains. See Built-in toolsets.--site : Tether MCP to a single site and hide discourse_select_site.--default-search : Unconditionally prefix every search query (e.g., tag:ai order:latest).--max-read-length : Maximum characters returned for post content (default 50000). Applies to discourse_read_post and per-post content in discourse_read_topic and discourse_read_private_message. The tools prefer raw content by requesting include_raw=true.--allowed_upload_paths : Comma-separated list or JSON array of directories allowed for local file uploads. Required to enable local file uploads in discourse_upload_file. Example: --allowed_upload_paths "/home/user/images,/tmp/uploads" or --allowed_upload_paths '["/home/user/images"]'. These security-sensitive paths do not receive ~ expansion.--transport (default: stdio): Use standard input/output by default, or loopback-only Streamable HTTP with JSON responses. HTTP explicitly supports one stateful MCP client/session per process. Every post-initialize request must carry the returned Mcp-Session-Id; a second initialize is rejected. After session DELETE/close, restart the process before connecting another client. /health returns 503 restart_required in that closed state. Request bodies are bounded to 4 MiB.--port (default: 3000): Port to listen on when using HTTP transport.--cache_dir (reserved)--profile (see below){
"auth_pairs": [ { "site": "https://try.discourse.org", "api_key": " ", "api_username": "system" }, { "site": "https://example.com", "user_api_key": " ", "user_api_client_id": " " }, { "site": "https://protected.example.com", "api_key": " ", "api_username": "system", "http_basic_user": "username", "http_basic_pass": "password" } ], "allow_writes": true, "show_emails": true, "log_level": "info", "tools_mode": "auto", "site": "https://try.discourse.org", "default_search": "tag:ai order:latest", "max_read_length": 50000, "transport": "stdio", "port": 3000, "allowed_upload_paths": ["/home/user/images", "/tmp/uploads"] }
Run with:
node dist/index.js --profile /absolute/path/to/profile.json
node dist/index.js --profile ~/discourse-mcp-profile.json
Flags still override values from the profile. A leading current-user ~, ~/, or ~\ in the profile path expands to the current home directory; ~otheruser, shell-style expansion elsewhere, and upload-allowlist expansion are intentionally unsupported.
Toolsets let an operator expose only the built-in domains needed by an MCP client. They are optional: when --toolsets and the profile field are both omitted, the server registers the default catalog (including search, discourse_search, and discourse_filter_topics). Administrative and specialized domains marked *(opt-in)* below—including themes—must be selected explicitly. Use --toolsets all only when every built-in domain is deliberately required.
Pass one name or a comma-separated union:
# Data Explorer reads, plus the site-selection bootstrap tool
npx -y @discourse/mcp@latest \ --toolsets data_explorer \ --tools_mode discourse_api_only
npx -y @discourse/mcp@latest \ --toolsets search,topics \ --tools_mode discourse_api_only
npx -y @discourse/mcp@latest \ --toolsets all \ --tools_mode discourse_api_only
npx -y @discourse/mcp@latest \ --toolsets workflows \ --site https://forum.example.com \ --auth_pairs '[{"site":"https://forum.example.com","api_key":"...","api_username":"system"}]' \ --allow_writes \ --tools_mode discourse_api_only
Profiles use an array (a comma-separated string is also accepted):
{
"toolsets": ["users", "uploads"] }
Available toolsets are:
| Toolset | Built-in tools |
|---|---|
site | discourse_select_site (also retained implicitly as bootstrap for any untethered subset) |
search | Topic-level search/filtering plus post-level keyword evidence |
topics | Core topic/post reads, exact stream selection, post search, user-post activity, and mutations |
users | User lookup/listing, user-post activity, and user mutations |
chat | Chat message retrieval |
drafts | Draft retrieval, save, and deletion |
uploads | File upload |
data_explorer | Query retrieval, execution, creation, update, and deletion |
private_messages | Authenticated personal/group PM listing and reading, plus write-gated creation, replies, and participant invitations |
activity *(opt-in)* | Reply relationships, site-wide post activity, topic view history, user activity summaries and timelines, and directory/cohort metrics |
administration *(opt-in)* | Category discovery, admin-visible site settings, and explicitly confirmed user activation/approval state changes |
site_settings *(opt-in, admin-sensitive)* | Masked site-setting inspection plus write-gated, preflighted updates of ordinary non-secret settings |
webhooks *(opt-in, admin-sensitive)* | Safe webhook and delivery-history inspection plus write-gated lifecycle, ping, and single-event redelivery operations |
themes *(opt-in, admin-sensitive)* | Theme/component inspection plus write-gated local creation, editing, installation, remote synchronization, asset upload, and guarded deletion |
groups *(opt-in)* | Exhaustive empty-input group directory listing, explicit page/filter compatibility mode, complete group CRUD and membership operations, and fixed-page group-authored post evidence |
tag_groups *(opt-in, staff-sensitive)* | Public visibility-filtered search plus staff inventory/detail and write-gated, preflighted create/update/delete lifecycle |
moderation *(opt-in)* | Authenticated review queue triage, user behavioral counters, bounded post revisions, and one freshly preflighted reviewable action |
workflows *(opt-in)* | Admin-only workflow discovery, graph authoring, expression evaluation, pin-data, draft runs, step runs, executions, and version management |
| ai_agents *(opt-in)* | Admin-only AI agent discovery, typed lifecycle, bot-user creation, and portabl
Solo se muestra el principio; lee el resto en el repo