Import Download GuildPro Sign in with Discord
Docs / For developers

Connect an AI assistant (MCP)

Connect Claude or another MCP client to your guild, choose what it may do, and approve what it asks for.

Guild Pro has an MCP connection. It lets an AI assistant such as Claude read your guild’s data, post for you, and, if you allow it, manage your Discord server. This is a reference page for guild admins who want to set that up.

Before you start

  • You must be an admin of the guild. The MCP page is at /g/your-guild/mcp (“your-guild” is your guild’s address).
  • You need an MCP client that can connect to an HTTP server with a bearer token, such as Claude Code or Claude Desktop.
  • For the Discord tools, the bot must already be in your Discord server.

How permissions work

Three checks apply to every request the assistant makes. All three must pass.

  1. Scopes. What the token was created to do: read, write or discord.
  2. Your role. The token acts as you. Each request checks your current role in the guild it names. If you are demoted, every token you created is demoted with you, from the next request.
  3. Discord. Tools that change your Discord server only work if the bot has been given full management there, and each channel or role is checked against Discord before it is touched.

A token can never do anything your own role does not allow. Treat it like a password.

Create a token

  1. Open the MCP page.
  2. Under Your token, tick the Scopes you want.
ScopeWhat it allows
readAttendance, rosters, signups, loot, schedules.
writePost announcements to Discord, as you.
discordCreate and rename channels and categories, create events, create roles and hand them out. Roles are made with no permissions, and deleting always waits for approval.
  1. Press Mint token.
  2. Press Copy to copy the token.

read and write are ticked by default. discord is not.

A token belongs to your account, not to one guild. It reaches every guild you are a member of, at whatever role you hold in each.

Change scopes or replace a token

Tick the scopes you want and press Roll token with these scopes. A new token is created and the old one stops working immediately. Update your assistant with the new token.

Turn it off

Press Revoke. Every MCP token for your account stops working. Do this at once if a token is ever exposed.

Connect your assistant

The server address is https://guildpro.io/api/mcp.

Claude Code

Run the command shown under Connect Claude on the MCP page. It has this shape:

claude mcp add guildpro --transport http https://guildpro.io/api/mcp --header "Authorization: Bearer <your token>"

Claude Desktop and other clients

Add an HTTP server with the same address and an Authorization: Bearer header carrying your token.

Then ask in plain language, for example “who’s slipping on attendance?” or “what does Thursday’s signup sheet look like?”.

Technical notes

  • The connection uses MCP’s Streamable HTTP transport in stateless form: one JSON-RPC message per POST request, answered with plain JSON.
  • Batched messages are not supported.
  • There is no server-push stream. GET and DELETE requests are refused.
  • Only the bearer token is accepted. Being signed in to the website in a browser does not grant access.
  • The assistant should call list_my_guilds first. Every other tool takes the guild address it returns.

Enable Discord management

Out of the box the bot can only post. Managing channels, roles and events needs a second, explicit grant for each Discord server.

  1. On the MCP page, find Discord management. Each connected server shows posting only or full management.
  2. Beside a server that shows posting only, press Upgrade permissions.
  3. Discord shows you exactly which permissions change. Approve them.
  4. Make sure your token has the discord scope. If it does not, tick it and roll the token.

Proposals: nothing is deleted without you

The assistant cannot delete anything in your Discord. When it wants to delete a channel, several channels or a role, it files a proposal with a reason. Nothing happens until an admin decides.

  1. Open the MCP page. Pending proposals appear at the top under Waiting on you.
  2. Read the summary.
  3. Press Approve or Deny.

Approve carries out the deletion immediately and records the outcome. Deny changes nothing. Decided proposals are listed under Decided with their result, for example when Discord refused part of the request.

Proposals can only be decided on the website by a signed-in admin. A token cannot approve them. This applies at every permission level.

The tools

The assistant only sees the tools your token’s scopes cover. “Role” is the lowest guild role you need for the tool to work.

Read tools

ToolRoleWhat it does
list_my_guildsraiderEvery guild you belong to, with your role, the raid teams and the connected Discord servers.
get_rosterraiderMembers, their roles and claimed characters, plus characters nobody has claimed.
get_scheduleraiderStanding raid nights and upcoming planned raids with signup counts.
get_signupsraiderWho signed up for a planned raid, grouped by answer and role. Defaults to the next raid.
get_attendanceraiderAttendance per person over recent raids, with alts counted for their owner.
get_loot_historyraiderRecent loot drops: item, who received it, which raid, when.
get_recent_raidsraiderRecent raids recorded by the addon: instance, when, roster size, boss kills.
get_bot_activityofficerWhat the Discord bot recently did or failed to do, and why.

Write tools

ToolRoleWhat it does
post_announcementofficerPosts an announcement to the guild’s announcement channel. Can prefix @here.
create_raidofficerCreates a raid and posts its signup sheet to Discord, with the usual buttons. Standard or flex signups.
create_teamadminCreates a raid team.

Discord tools

All of these need the discord scope. Unless marked otherwise, they also need the bot to have full management in that Discord server.

ToolRoleWhat it does
discord_list_channelsofficerLists every channel and category with ids, types and positions. Works with posting only.
list_channel_routesofficerShows where each kind of post currently goes, per team and for the guild. Works with posting only.
set_channel_routeadminPoints a kind of post (signup, roster, recap, loot or announce) at a channel, for one team or as the guild default. Works with posting only.
discord_create_channeladminCreates a text or voice channel, optionally under a category.
discord_create_categoryadminCreates a category.
discord_edit_channeladminRenames a channel or category, changes a topic, or moves a channel to another category.
discord_reorder_channelsadminSets the order of categories, or of channels inside one category.
discord_set_channel_accessadminSets which role can see, post in or join a channel or category. Only touches view, post, connect and speak.
discord_create_eventofficerCreates a Discord scheduled event for a raid.
discord_list_rolesofficerLists every role with id, colour and position, and whether the bot can assign it.
discord_create_roleadminCreates a role with no permissions at all. It is a label for tagging and pinging.
discord_edit_roleadminRenames a role or changes its colour and display flags. Never changes what the role can do.
discord_reorder_rolesadminSets the order of roles. The bot can only hand out roles placed below its own.
discord_find_memberofficerLooks up people in the Discord server by username or nickname.
discord_list_membersofficerLists server members and the roles each holds. Read-only.
discord_assign_roleadminGives a member a role. Refuses any role that carries moderation or management permissions.
discord_delete_roleadminFiles a proposal to delete a role. Deletes nothing.
discord_delete_channeladminFiles a proposal to delete a channel. Deletes nothing.
discord_clean_up_channelsadminFiles one proposal to delete several channels at once. Deletes nothing.

Safety limits built in

  • Roles the assistant creates have no permissions. Giving a role real powers is done by a person in Discord’s own role settings.
  • The assistant cannot assign roles that carry moderation or management permissions.
  • Channel access changes are limited to view, post, connect and speak.
  • Deleting always goes through a proposal.
  • A token only reaches guilds you are a member of.

Troubleshooting

What you seeWhat to do
The client reports it is unauthorizedCheck the token was pasted in full after Bearer , and that it has not been rolled or revoked.
“No tool called … is available to this token.”The token lacks the scope for that tool. Tick the scope and roll the token.
“This needs the … role in …”Your role in that guild is too low for the tool.
“The bot holds only posting permissions in this Discord.”Press Upgrade permissions on the MCP page.
“No Discord is connected to this guild.”Add the bot from the Bot page first.
“No announce channel is set.” or “No signup channel is set.”Choose the channel on the Bot page.

Still stuck? Ask in the Discord.