Connect Your First MCP Server
This content was developed with AI assistance and is regularly reviewed for accuracy.
Snapshot: October 2026. Model names, prices, and product features change monthly; What's New in AI is the maintained chronology.
Connecting an MCP server is how you give an assistant real access to a system: your calendar, a code host, a folder of files, a database. In 2026 there are three common paths, and none of them requires you to understand the protocol. This tutorial walks through the connectors directory in claude.ai, the claude mcp add command in Claude Code, and the apps directory in ChatGPT, then shows the one configuration file you may need for a local server. Along the way you will build the habit that matters most: knowing exactly what a connector can do before you let an agent use it.
Last tested with Claude (claude.ai connectors) and Claude Code in October 2026.
What you'll accomplish
- Connect a reviewed server from the claude.ai connectors directory and verify its tool list
- Add a remote server to Claude Code with
claude mcp addand authenticate it - Run one local server from a single configuration file, scoped to one folder
- Understand how ChatGPT apps relate to MCP
- Scope, test, and revoke a connector so an agent cannot overreach
Before you start
You need a Claude account (connectors are listed on all paid plans as of October 2026) or Claude Code installed, Node.js if you want to try the local example, and about 30 to 45 minutes. If you have not read MCP Explained, the one idea to carry in is this: a server exposes tools (actions), resources (readable data), and prompts (templates), and a connector is simply a server someone else runs for you.
Two rules apply to every step below. First, verify every server before connecting: who maintains it, how it authenticates, and which of its tools write or delete. Second, assume an agent will use any tool it can see. Claude Code's Routines documentation states that a Routine can use every tool from an included connector, including writes, without asking. You decide what is visible.
Step 1: Connect a server from the claude.ai directory
Goal: Give Claude live access to one service you already use, with no configuration file.
Action: Open Anthropic's reviewed directory at claude.ai/directory and choose a service, for example your calendar, Linear, or Notion. Click connect and sign in with that service's own login; this is an OAuth flow, so Claude never sees your password, only a scoped token. When the service asks which permissions to grant, grant the fewest that cover your task.
Then open claude.ai/customize/connectors. The new connector appears in your list. Expand it and read the tool names: you are looking for which ones read and which ones write. Start a chat with the connector enabled and ask for something that needs live data:
"Using the [service] connector, list the [items] from the last 7 days and tell me which tools you called."
Checkpoint: The connector is listed, you can name at least one read tool and one write tool it exposes, and Claude answered from live data rather than from memory.
Step 2: Use the same server in Claude Code
Goal: Reach the server from your terminal, and learn the command for servers that are not in the directory.
Action: Connectors you add in claude.ai appear in Claude Code automatically, so if Step 1 worked, open a Claude Code session and ask the same question. For a remote server that is not in the directory (a vendor's hosted endpoint, or one your company runs), add it with the HTTP transport:
claude mcp add --transport http [server-name] [https://server.example.com/mcp]
Inside a session, run /mcp to complete OAuth sign-in and to see each server's connection status. Three Claude Code behaviours are worth knowing. It tries HTTP first and treats the older SSE transport as deprecated, so if a vendor only offers SSE, ask them for an HTTP endpoint. Servers listed in a project's .mcp.json need interactive approval the first time, and credential environment variables referenced in remote URLs expand to empty, so a repository you clone cannot quietly exfiltrate your tokens. Tool definitions are deferred by default (Claude searches for tools when it needs them), and a tool's output is capped at 25,000 tokens unless you change it, which keeps a chatty server from flooding the context window.
Checkpoint: claude mcp list shows the server as connected, /mcp shows it authenticated, and a prompt that needs its data succeeds.
Step 3: Run one local server (the only config file you need)
Goal: Launch a server as a local process, scoped to a single folder, and see the shape every MCP configuration shares.
Action: Local servers talk to the client over stdio: the client starts the process and pipes messages to it. The filesystem server is the right first one because it needs no account and can only touch the folder you name. Create a practice folder with a few notes in it, then save this as .mcp.json in the root of a project you open with Claude Code:
{
"mcpServers": {
"notes": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/yourname/Documents/mcp-practice"
]
}
}
}
Read the three fields once and you can read any MCP configuration. notes is the label you will see in the tool list. command and args are how the client launches the process; npx -y downloads and runs the package on demand. The final argument is the one folder this server may read or write. Never point it at your home directory. The same mcpServers shape is used by the Claude desktop app's developer configuration, and the equivalent one-line command is claude mcp add notes -- npx -y @modelcontextprotocol/server-filesystem /path/to/folder.
Open Claude Code in that project, approve the project server when prompted, and try:
"List the files in my mcp-practice folder, then summarize [filename]."
Checkpoint: Claude lists the real files, and the tool calls it shows are list_directory and read_text_file from the notes server.
Step 4: Understand ChatGPT apps
Goal: Recognise the same mechanism under a different name.
Action: ChatGPT presents integrations as apps that you enable from a directory inside the product, and it is reported that those apps are built on MCP, with a developer mode for connecting a server of your own. OpenAI's own documentation could not be verified for these notes, so treat the exact menu names as changeable and check its help centre. Two things are not changeable. Custom GPT "Actions", the older OpenAPI-based mechanism, are not a path for individuals: since August 2026 individuals can no longer create Custom GPTs, which were replaced by Workspace Agents. And the verification questions are identical to Step 1: who maintains the app, what it can read, what it can write.
Checkpoint: You can explain to a colleague why a ChatGPT app, a Claude connector, and a Claude Code MCP server are three doors into the same room.
Step 5: Scope, test, and revoke
Goal: Leave your setup in a state you would be comfortable handing to a scheduled agent.
Action: Work through four moves. Read the tool list of every connector and sort it into reads and writes; if a task needs only reads, prefer a connector or a credential that offers only reads. When you create a Routine or scheduled task, remove the connectors it does not need, since every included connector is fully usable without a prompt. Before pointing any remote connector at real records, test it with fake data and watch what it calls. If a server reaches a database, give it a database user that can only SELECT.
Revoking is as important as connecting. In claude.ai, disconnect the connector from the connectors page; in Claude Code, run claude mcp remove [server-name]; and revoke the token at the service itself, because disconnecting the client does not always invalidate the credential.
Checkpoint: Every connector you still have is one you can name a current use for, and you know where to revoke each one.
Troubleshooting
The server does not appear. For .mcp.json, validate the JSON; one missing comma silently disables the file. Confirm you approved the project server when prompted.
Sign-in loops or fails. Run /mcp again and complete the browser flow. If the server uses an older authorization method, it may not satisfy the 2026-07-28 rules; ask the vendor.
Tool calls fail after connecting. The token has usually expired or lacks a scope. Reconnect and grant the scope the failing tool needs.
A vendor only offers an SSE endpoint. It still works during the deprecation offramp, but request the Streamable HTTP endpoint; new servers should not ship SSE.
The local server starts but Claude cannot see files. Check that the folder path exists and that Node.js is installed; npx ships with it.
Key takeaways
- The user path is the directory: pick a reviewed server, sign in with OAuth, and read its tool list.
- In Claude Code,
claude mcp add --transport httpadds a remote server and/mcpauthenticates it; claude.ai connectors appear automatically. - One
mcpServersblock is the whole configuration format; scope local servers to one folder. - ChatGPT apps are the same mechanism under another name; verify them the same way.
- Remove connectors a task does not need, test with fake data, and know where to revoke.
Next steps
Continue to: Build and Secure an MCP Server (2026-07-28 Spec)
- Use your connected servers from the terminal in Claude Code: Your AI Coding Agent.
- Decide what an agent may touch with Agent Safety and Guardrails.
- See how connectors fit with files, projects, and memory in Supply Context.