Skip to main content
Glama

Discourse MCP

Official
by discourse
validate-filter.mjs1.05 kB
import { Logger } from '../dist/util/logger.js'; import { SiteState } from '../dist/site/state.js'; import { registerAllTools } from '../dist/tools/registry.js'; async function main() { const logger = new Logger('error'); const siteState = new SiteState({ logger, timeoutMs: 10000, defaultAuth: { type: 'none' } }); const tools = {}; const fakeServer = { registerTool(name, _meta, handler) { tools[name] = { handler }; }, }; await registerAllTools(fakeServer, siteState, logger, { allowWrites: false, toolsMode: 'discourse_api_only' }); const selectRes = await tools['discourse_select_site'].handler({ site: 'https://meta.discourse.org' }, {}); if (selectRes?.isError) throw new Error('select_site failed'); const filter = 'created-after:7 order:likes'; const res = await tools['discourse_filter_topics'].handler({ filter, page: 1, per_page: 5 }, {}); const text = String(res?.content?.[0]?.text || ''); console.log(text); } main().catch((e) => { console.error(e?.message || String(e)); process.exit(1); });

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/discourse/discourse-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server