Skip to main content
Glama

discourse_get_user

Retrieve basic user information from Discourse forums by providing a username. Integrate with Discourse MCP to enable AI agents to access and process user data efficiently.

Instructions

Get basic user info.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
usernameYes

Implementation Reference

  • Handler function that fetches user information from the Discourse API using the username, processes the response to extract name, trust level, creation date, bio, and profile URL, formats it into lines of text, and returns it as a content block. Handles errors by returning an error message.
    async ({ username }, _extra: any) => { try { const { base, client } = ctx.siteState.ensureSelectedSite(); const data = (await client.get(`/u/${encodeURIComponent(username)}.json`)) as any; const user = data?.user || data?.user_badges || data; const name = user?.name || username; const trust = user?.trust_level; const created = user?.created_at || user?.user?.created_at || ""; const bio = user?.bio_raw || ""; const lines = [ `@${username} (${name})`, trust != null ? `Trust level: ${trust}` : undefined, created ? `Joined: ${created}` : undefined, bio ? "" : undefined, bio ? bio.slice(0, 1000) : undefined, `Profile: ${base}/u/${encodeURIComponent(username)}`, ].filter(Boolean) as string[]; return { content: [{ type: "text", text: lines.join("\n") }] }; } catch (e: any) { return { content: [{ type: "text", text: `Failed to get user ${username}: ${e?.message || String(e)}` }], isError: true }; } }
  • Zod schema defining the input: an object with a required 'username' string that must be at least 1 character long.
    const schema = z.object({ username: z.string().min(1), });
  • Registers the discourse_get_user tool with the MCP server, specifying the tool name, title, description, and input schema (handler follows inline).
    server.registerTool( "discourse_get_user", { title: "Get User", description: "Get basic user info.", inputSchema: schema.shape, },
  • Top-level call to registerGetUser function, which in turn registers the discourse_get_user tool, invoked during registerAllTools with allowWrites: false.
    registerGetUser(server, ctx, { allowWrites: false });

Other Tools

Related Tools

Latest Blog Posts

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/SamSaffron/discourse-mcp'

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