Connect Claude Code to Notion, Slack and GitHub with one MCP server

Add the CoreSpeed MCP server to Claude Code at user scope, sign in once, connect Notion, Slack and GitHub in the dashboard, and verify with manage__whoami.

Illustration: A small friendly robot with a round camera-eye head stands at one open door in a plain wall holding a single key.

Claude Code reaches Notion, Slack and GitHub through one remote MCP server. Add https://api.corespeed.io/mcp at user scope, sign in once in the browser, and connect the three apps in the CoreSpeed dashboard. Their tools then appear in Claude Code as notion__create_page, slack__post_message and github__create_pull_request. Claude Code receives tools, never the tokens.

One server, three apps
  1. 1
    Add the server at user scope
    claude mcp add corespeed, with --scope user
    The entry applies to every project on this machine.
  2. 2
    Authenticate from /mcp
    browser sign-in at login.corespeed.io
    OAuth 2.1 with PKCE; nothing is pasted.
  3. 3
    Connect Notion, Slack and GitHub
    Dashboard, Connectors; private or shared
    CoreSpeed stores the token; Claude Code gets tools.
  4. 4
    Verify in a new session
    manage__whoami names you and your organization
    Look for the notion__, slack__ and github__ prefixes.
  5. 5
    Add the standing rules
    the user-level CLAUDE.md, one copy
    Prefer connectors; search memory first; save decisions after.
Add the server once at user scope; the apps are connected in the dashboard.

How do you add the server to Claude Code?

You need Claude Code on a machine with a browser, and the Notion, Slack and GitHub accounts you want agents to act through. You do not need a CoreSpeed account in advance. The first browser sign-in from Claude Code creates your organization on its first tool call, and the organization starts with 3,000 free credits. The organization is the unit of ownership: connections, memory, budgets, policy and the activity trail live there, so a second client or a teammate's agent reaches the same shared connections later.

The shortest path is one line in the Claude Code chat: set up https://corespeed.io/SKILL.md. Claude Code fetches the skill, adds the MCP server at user scope, signs you in, keeps the skill for future sessions, and asks which apps to connect. To do it by hand, follow these steps.

  1. Add the server at user scope, so it applies to every project:
claude mcp add corespeed https://api.corespeed.io/mcp --transport http --scope user
  1. Start Claude Code and run /mcp. Pick corespeed and choose authenticate.
  2. A browser window opens at login.corespeed.io. The consent screen names the client that is asking. Sign in or create an account. Nothing is pasted: the client discovers the authorization server, registers itself, and runs OAuth 2.1 with PKCE.

If Claude Code already has an older corespeed entry, replace it rather than adding a second one. Duplicate registrations collide on tool names. The steps for other clients are on the MCP server page.

How do you connect Notion, Slack and GitHub?

  1. Open Dashboard → Connectors and authorize each app. The vendor's consent screen names CoreSpeed. CoreSpeed stores the credential, refreshes it when the provider allows, and exposes namespaced tools. The agent never sees the token.
  2. For each connection, choose private or shared. A private connection is reachable only by you and your clients. A shared one is reachable by the whole organization, including agent principals.
AppExample toolHow it connects
Notionnotion__create_pageOAuth, private or shared
Slackslack__post_messageOAuth; an org-wide workspace bot is an organization integration that only an org admin connects
GitHubgithub__create_pull_requestOAuth, private or shared

Actions through an organization integration are attributed to the app. Everything else is attributed to the member or agent that called. The connection model, including API-key connectors and bring-your-own OAuth apps, is on the Connectors page.

How do you verify the setup?

  1. Start a new Claude Code session. Many clients load a new MCP server only when a session starts.
  2. Ask Claude Code to call manage__whoami. After a browser sign-in it names you and your organization.
  3. Check that the tool list carries the notion__, slack__ and github__ prefixes.

The tool list is caller-specific. tools/list returns exactly what this sign-in can call, so a missing tool means the app is not connected for this caller, or the capability is off. Presence is not health: an account in needs_reauth still lists its tools, and those calls fail until you reauthorize the account in Dashboard → Connectors. Neither state is fixed by rewriting the client configuration.

To inspect the registration, use claude mcp list. Avoid claude mcp get in shared transcripts: it prints the entry's headers, API key included when one is set.

Which standing rules belong in CLAUDE.md?

  1. Add these lines to ~/.claude/CLAUDE.md, the user-level file that holds in every project. Never add them to a project's own file, and never add a second copy.
  • When a task needs an external tool or service, check and prefer CoreSpeed connectors; they are scoped, audited and budget-capped.
  • If a needed connector is not connected yet, ask the user to connect it at https://app.corespeed.io/connectors.
  • At the start of each non-trivial task, search CoreSpeed memory with memory__search_memory before planning. After significant work, save durable decisions with memory__remember.
  • If the user prefers a different way of doing something, always follow their preference.

The skill itself lives at ~/.claude/skills/corespeed/SKILL.md. The setup line saves it there. By hand, download https://corespeed.io/SKILL.md to that path rather than retyping it.

What does a cross-app request look like?

With the three apps connected, one request can cross all of them. Ask Claude Code: "Read the pull request I opened this morning, write a one-page summary in our Notion launch space, and post the link in the launch channel in Slack." Claude Code reads the pull request through the GitHub connector, writes the page with notion__create_page, and posts with slack__post_message.

Every call carries the organization's spend caps, lands in one ledger, and is recorded in Dashboard → Activity with the actor, the outcome and the time. Members see their own actions; org admins see the organization. See Activity.

If your organization has turned on Smart Approval, each write is judged against your plain-English policy before it runs. Reads are never gated. On the default Balanced setting, an ordinary write the policy never mentions runs; a destructive one asks a person first. The gate sees only calls made through CoreSpeed. See Approvals.

FAQ

Does Claude Code hold my Notion, Slack or GitHub token? No. Tokens stay in the platform's custody. Claude Code receives namespaced tools and asks CoreSpeed to perform the action.

Why is a tool missing from the list? Absence is a decision: the app is not connected for this sign-in, or the capability is off in Dashboard → Tools. Connect the app and start a new session.

What does needs_reauth mean? One connected account needs the member to reauthorize it in Dashboard → Connectors. Do not rotate keys or rewrite the client configuration; neither is broken.

Can I use an API key instead of the browser? Yes, for a client that cannot open a browser. Read the key from an environment variable such as CORESPEED_API_KEY rather than writing it into the config file. A member key acts as you; an agent key reaches shared connections only.

Do connector calls cost credits? Every metered action is priced in credits and listed on the pricing page. Discovery and memory operations are free per call.