# Getting Started

## What you will build

By the end of this tutorial you will have Claude Desktop connected to MewCP, with your Google Calendar available as a tool, and you will have asked Claude a question it answers by calling that tool.

**Time:** about 5 minutes.

**What you need:**

- A MewCP account ([sign up](https://mewcp.com))
- Claude Desktop installed ([download](https://claude.ai/download))
- Node.js 18 or newer (needed by the `mcp-remote` bridge Claude Desktop uses)

---

<Stepper>

1. **Connect an app**
   1. Log in to the [MewCP dashboard](https://mewcp.com/dashboard)
   1. Go to **Servers** and pick **Google Calendar**
   1. Click **Connect account** and sign in with Google

   That is the only place credentials are handled. Your connection is encrypted and stored in a secure vault, and you never paste a token into your client.

   Connect as many apps as you like, now or later. Every one of them is reachable through the same setup below.

1. **Get your API Key**
   1. In the dashboard go to **API Keys**
   1. Copy your **API Key**

   Your key looks like: `mcp_live_7df44e73e8cd42bb...`

   Keep this key safe. It is how your client proves it is you.

1. **Connect Claude Desktop**

   In Claude Desktop, open **Settings → Developer** and click **Edit Config**. This opens the config file:

   | Platform | Path                                                              |
   | -------- | ----------------------------------------------------------------- |
   | macOS    | `~/Library/Application Support/Claude/claude_desktop_config.json` |
   | Windows  | `%APPDATA%\Claude\claude_desktop_config.json`                     |

   Paste this into it, replacing `API_KEY` with the key you just copied:

   ```json
   {
     "mcpServers": {
       "mewcp": {
         "command": "npx",
         "args": [
           "-y",
           "mcp-remote@latest",
           "https://gateway.mewcp.com/personal/mcp",
           "--header",
           "Authorization:${AUTH_HEADER}"
         ],
         "env": {
           "AUTH_HEADER": "Bearer API_KEY"
         }
       }
     }
   }
   ```

   That is the whole config, and it does not change when you connect more apps.

   Save the file, then quit Claude Desktop completely and open it again.

   To confirm it connected, click **+** in the message box and go to **Connectors**: MewCP should be listed. If it is not, see [How to Connect Claude Desktop to MewCP](/mewcp/connect-agents/claude-desktop#troubleshooting).

1. **Ask for something** 🚀

   Open a new Claude Desktop chat and type:

   ```
   What is on my calendar tomorrow?
   ```

   Claude will find the right tool, call it against your connected Google account, and answer:

   > You have two events tomorrow: a team standup at 9:30am and a design review at 2pm.

   That is it. You have made your first tool call through MewCP.

</Stepper>

---

## How MewCP works

**One URL, every app.**

Your **personal toolset** is the set of apps you have connected. It has a single endpoint, `https://gateway.mewcp.com/personal/mcp`. Connect another app in the dashboard and it is available straight away, with no config change and no restart.

When your client connects, it does not see hundreds of tools. It sees four:

| Tool            | What it does                                     |
| --------------- | ------------------------------------------------ |
| `search`        | Find tools by keyword across every connected app |
| `get_schema`    | Get the parameters for the tools it picked       |
| `list_accounts` | List the accounts connected for one app          |
| `call_tool`     | Run the tool                                     |

Your agent uses them in that order, which is why you can ask in plain language and still get the right call. Keeping the tool list small is what keeps the agent accurate as the number of connected apps grows.

If you have connected two accounts for the same app, `list_accounts` shows both and the agent picks one by its alias.

### Your credentials stay with MewCP

Connected credentials are encrypted at rest in a secure vault. They are decrypted and injected into the upstream request only at the moment a tool is called, and never travel to your client, your agent, or the model. Your config holds one API Key and nothing else.

Expired access is refreshed for you. If an app is not connected yet, or access was revoked, the call comes back with a link to hand to the user instead of failing quietly.

---

## What's next

- **Other clients**: Connect via [VS Code](/mewcp/connect-agents/vscode), [Cursor](/mewcp/connect-agents/cursor), [Claude Code](/mewcp/connect-agents/claude-code), [TypeScript](/mewcp/frameworks/typescript), [Python](/mewcp/frameworks/python), or [Codex](/mewcp/connect-agents/codex)
- **AI agent frameworks**: Wire MewCP into [Google ADK](/mewcp/frameworks/google-adk), [LangChain](/mewcp/frameworks/langchain-python), [CrewAI](/mewcp/frameworks/crewai), and more
- **B2B / multi-user apps**: Use the [MewCP Auth API](/mewcp-auth) to manage credentials for your audience
