How to integrate Discord MCP with Pi

Connect Pi to Discord MCP. List all discord servers i belong to, show your connected accounts on discord, and more using natural language, with authentication handled for you.

Discord logoDiscord
Oauth2

Discord is a real-time messaging and VoIP platform for communities and teams. It lets users chat, share media, and collaborate across public and private channels.

27 Tools1 Triggers

Introduction

Pi is a minimal, self-extensible coding agent that lives in your terminal — one agent loop over Claude, GPT-5, Gemini, Grok, DeepSeek, and 20+ other providers, with maximum extension surface and minimum product opinion. Its core ships four tools (read, write, edit, bash) and self-extends at runtime through skills, extensions, and packages.

This guide explains the easiest and most robust way to connect your Discord account to Pi. You can do this through either Composio Connect CLI or Composio Connect MCP. Because Pi already runs shell commands as first-class tools and ships no built-in MCP, the CLI is the recommended path — it's faster to set up, needs no server config, and chains multi-step tasks more reliably. The MCP path is also fully supported through Pi's official pi-mcp-adapter extension.

Also integrate Discord with

What is Composio Connect?

Composio Connect is a consumer offering that lets anyone plug 1,000+ applications directly into their agent harness — including Pi. It can:

  • Search and load tools from relevant toolkits on-demand, reducing context usage.
  • Chain multiple tools to accomplish complex workflows via a remote workbench, without excessive back-and-forth with the LLM.
  • Manage app authentication end-to-end with zero manual overhead.

Connect Discord to Pi with Composio

Prerequisites: Install Pi

Pi needs Node.js 18+ (Node 22 recommended). Install the agent globally with npm:

bash
npm install -g --ignore-scripts @earendil-works/pi-coding-agent

On Linux or macOS you can use the installer script instead:

bash
curl -fsSL https://pi.dev/install.sh | sh

Then run pi in any project directory and authenticate your model provider — use /login inside Pi for subscription providers (Claude Pro/Max, ChatGPT, GitHub Copilot), or set an API key such as ANTHROPIC_API_KEY before starting. Confirm it's working:

bash
pi --version

Full first-run details are in the Pi Quickstart.

Option 1: Composio CLI (recommended)

Pi runs shell commands as first-class tools, so the Composio Universal CLI is the most natural fit — no MCP server to configure and reliable multi-step tool chaining. Install and authenticate:

bash
# Install the Composio CLI
curl -fsSL https://composio.dev/install | bash

# Log in to Composio
composio login

Connect to Discord

Ask Pi to connect to Discord, or simply request any Discord-related task. Under the hood Pi calls Composio commands like any other shell tool:

bash
composio search "what can I do with Discord?"
composio link discord

On the first Discord call, composio link discord opens an OAuth prompt so you can authorize access. After that, every Discord command works with your stored credentials automatically — just talk to Pi and it will search, execute, and chain Discord tools as needed.

Option 2: Composio MCP

Pi's core intentionally ships no built-in MCP, but the official pi-mcp-adapter extension adds full MCP support — exposing every server through a single lightweight proxy tool (~200 tokens) instead of loading hundreds of tool definitions into context.

1. Install the MCP adapter extension

bash
pi install npm:pi-mcp-adapter

Restart Pi after installation.

2. Add the Composio MCP server

Create (or edit) a .mcp.json file in your project root, or ~/.config/mcp/mcp.json for a user-global setup:

bash
{
  "mcpServers": {
    "composio": {
      "url": "https://connect.composio.dev/mcp"
    }
  }
}

The adapter connects lazily by default — the server won't start until Pi actually calls one of its tools, and cached metadata keeps search and describe working without a live connection.

3. Authenticate

Run /mcp-auth inside Pi to open the authentication modal and select composio from the list. Complete the sign-in in your browser, then on the consent screen click Allow access to authorize Composio. Once approved, the server shows as connected inside Pi:

Pi /mcp-auth modal listing the composio MCP server
Composio OAuth consent screen with the Allow access button
Composio MCP server connected inside Pi

4. Done!

Confirm the server is live with /mcp to open the interactive panel, then ask Pi to connect to Discord or request any Discord-related task — it will prompt you to authorize Discord on first use.

What is the Discord MCP server, and what's possible with it?

The Discord MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Discord account. It provides structured and secure access to your Discord profile, connected accounts, servers, and invites, so your agent can fetch user details, list your servers (guilds), retrieve invite info, and manage your Discord presence on your behalf.

  • Retrieve and manage user profile information: Your agent can fetch your Discord profile details, including email and connected third-party accounts, to help keep your data organized and up-to-date.
  • Server (guild) discovery and membership checks: Effortlessly list all servers you belong to and verify your membership status in any server.
  • Access invite details and server info: Instantly get information about specific Discord invite codes, including the destination server or channel details.
  • Guild member insights: Allow your agent to retrieve your own guild member information across servers, including permissions and roles.
  • OAuth2 application and authorization review: Let your agent fetch your app’s OAuth2 authorization details, so you always know what permissions are granted and when tokens expire.

Way Forward

With Discord connected, Pi can now act on your behalf whenever you ask it to.

From here, you can extend Pi further:

  • Connect more apps: Calendar, Slack, Notion, Linear, and hundreds of others are available through the same Composio Connect setup. Each new integration compounds what Pi can do for you.
  • Build workflows across tools: Once multiple apps are connected, Pi can chain actions together — turn an email into a calendar invite, a Slack message into a Linear ticket, or a meeting note into a follow-up draft.
  • Lean into Pi's extension surface: Wrap common Discord flows as Pi skills or prompt templates so recurring tasks become one-line commands, and use directTools in the MCP adapter to promote your most-used Discord tools into Pi's tool list directly.

If you run into trouble or want to share what you've built, join the community or check out the Docs for deeper configuration options.

TOOLS & TRIGGERS

Supported Tools and Triggers

Every Discord action and event your agent gets out of the box.

Consume Entitlement

Marks a one-time purchase consumable entitlement as consumed for a given application.

Delete Test Entitlement

Deletes a currently active test entitlement for a given application.

Delete User Application Role Connection

Deletes the current user's application role connection for the specified application.

Edit Application Command Permissions

Edits the permissions for a specific application command in a guild.

Get Application Command Permissions

Retrieves the permissions for a specific application command in a guild.

Get Batch Application Command Permissions

Retrieves permissions for all commands of an application in a guild.

Get Current User Application Entitlements

Tool to retrieve entitlements for the current user for a given application.

Get Gateway

Tool to retrieve a valid WebSocket (wss) URL for establishing a Gateway connection to Discord.

Get Guild Template

Tool to retrieve information about a Discord guild template using its unique template code.

Get Guild Widget

Tool to retrieve the guild widget in JSON format.

Get Guild Widget PNG

Tool to retrieve a PNG image widget for a Discord guild.

Get my guild member

Retrieves the guild member object for the currently authenticated user within a specified guild, including roles, nickname, join date, and permissions.

Get my OAuth2 authorization

Retrieves current OAuth2 authorization details for the application, including app info, scopes, token expiration, and user data (contingent on scopes like 'identify').

Get My User

Fetches comprehensive profile information for the currently authenticated Discord user, including email if the 'email' scope is granted.

Get OpenID Connect userinfo

Retrieve OpenID Connect compliant user information for the authenticated user.

Get Public Keys

Tool to retrieve Discord OAuth2 public keys.

Get SKU Subscription

Retrieves a specific subscription by ID for a given SKU.

Get User

Retrieve information about a Discord user.

Get User Application Role Connection

Retrieves the application role connection for the currently authenticated user for a specified application.

Resolve Invite

Tool to resolve and retrieve information about a Discord invite code.

Leave Guild

Leaves a Discord guild (server) on behalf of the currently authenticated user.

List My Connections

Retrieves a list of the authenticated user's connected third-party accounts on Discord.

List My Guilds

Lists the current user's guilds, returning partial data for each; primarily used for displaying server lists or verifying memberships.

List SKU Subscriptions

Lists all subscriptions for a given SKU.

List Sticker Packs

Tool to retrieve all available Discord Nitro sticker packs.

Modify Current User

Modifies the currently authenticated Discord user's profile.

Update User Application Role Connection

Updates the application role connection for the currently authenticated user for a specified application.

FAQ

Frequently asked questions

With a standalone Discord MCP server, the agents and LLMs can only access a fixed set of Discord tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Discord and many other apps based on the task at hand, all through a single MCP endpoint.

Yes, you can. Pi fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Discord tools.

Yes, absolutely. You can configure which Discord scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Discord data and credentials are handled as safely as possible.

Start with Discord.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Discord tool your agent needs.Free to start.

Start building