Skip to main content
Glama
geetameduri12

Everything MCP Server

README.md
# Everything MCP Server (Remote, deployable to Render.com)

A small personal remote MCP server with four demo tools:
- `echo` — repeats text back
- `add` — adds two numbers
- `currentTime` — returns current UTC time
- `randomFact` — returns a random fun fact

It uses **Streamable HTTP transport** (not stdio), which is what remote/hosted
MCP servers need — this is different from your local `WeatherMCPServer`,
which uses stdio and only runs as a subprocess on your own machine.

## 1. Test locally first (optional but recommended)

```bash
npm install
npm start
```

Server starts on `http://localhost:3000/mcp`. Test it with MCP Inspector:

```bash
npx @modelcontextprotocol/inspector
```

Open the Inspector UI (usually `http://localhost:6274`), choose
**Streamable HTTP** as the transport type, and set the URL to
`http://localhost:3000/mcp`. Click **Connect**, then **List Tools** to see
all four tools and try calling one.

## 2. Push this project to GitHub

```bash
git init
git add .
git commit -m "Initial commit: everything-mcp-server"
```

Create a new repository on GitHub (via the website), then:

```bash
git remote add origin https://github.com/<your-username>/everything-mcp-server.git
git branch -M main
git push -u origin main
```

## 3. Deploy to Render.com

1. Go to https://dashboard.render.com and sign in (or create a free account).
2. Click **New** → **Web Service**.
3. Connect your GitHub account and select the `everything-mcp-server` repo.
4. Render should auto-detect the `render.yaml` (Blueprint) — if it asks,
   confirm you want to use it. If it doesn't auto-detect, configure manually:
   - **Environment:** Docker
   - **Plan:** Free
   - **Health Check Path:** `/health`
5. Click **Create Web Service** (or **Apply** if using the Blueprint).
6. Wait for the build/deploy logs to finish — you'll get a live URL like:
   ```
   https://everything-mcp-server.onrender.com
   ```
   Your MCP endpoint is:
   ```
   https://everything-mcp-server.onrender.com/mcp
   ```

Note: Render's free tier spins the service down after a period of
inactivity and takes ~30-60 seconds to wake back up on the next request —
normal for the free plan, not a bug.

## 4. Connect it to Claude

Remote MCP servers connect through **Settings → Connectors → Add custom
connector** in Claude (claude.ai or Claude Desktop) — not through
`claude_desktop_config.json` (that file is only for *local* stdio servers,
like your weather server).

1. Open Claude → Settings → Connectors.
2. Click **Add custom connector**.
3. Enter a name (e.g. "My Everything Server").
4. Enter the URL: `https://<your-app-name>.onrender.com/mcp`
5. Click **Add**, then **Connect**.
6. Start a new chat and ask Claude to use one of the tools, e.g.:
   > "Use the add tool to add 15 and 27"
   > "Give me a random fact using my everything server"

## Extending it

Add more tools by copying the `server.registerTool(...)` pattern in
`src/server.js` — each tool needs a name, a Zod input schema, and an async
handler that returns `{ content: [...] }`.