{"_id":"@calmesh/mcp-server","_rev":"3-83dc3e88899dbcbcaead0793a168f0af","name":"@calmesh/mcp-server","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@calmesh/mcp-server","version":"0.1.0","license":"MIT","_id":"@calmesh/mcp-server@0.1.0","maintainers":[{"name":"davidklemme","email":"david@berlinersoftwareschmiede.de"}],"homepage":"https://calmesh.xyz","bugs":{"url":"https://github.com/calmesh/mcp-server/issues"},"bin":{"calmesh-mcp":"dist/index.js"},"dist":{"shasum":"e3085e240e1a16bb14d231494d09fa8f991b86af","tarball":"https://registry.npmjs.org/@calmesh/mcp-server/-/mcp-server-0.1.0.tgz","fileCount":4,"integrity":"sha512-6xSmhfufCMNv4+SGrqY9bZ1EpOyciAsUvGPbeVrBRWezRiiwkmlk75by2mNvKqOvn0SrdNJ8l9i9Pt1CVM7mbw==","signatures":[{"sig":"MEQCIGssVpBVT/CjHErRhwBswlOXk4lVFJxJNVH0Qb7wqnVCAiBUZ1kpwxLFXGl/8svlTLd3kYnjX6ppPlo8DwxTWtf4Pw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43583},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"d21b5d097fb6a1768db3d518d150ee030acf459e","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","pretest":"tsup"},"_npmUser":{"name":"davidklemme","email":"david@berlinersoftwareschmiede.de"},"repository":{"url":"git+https://github.com/calmesh/mcp-server.git","type":"git"},"_npmVersion":"11.11.0","description":"MCP server for CalMesh calendar infrastructure","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^4.1.0","typescript":"^5.7.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.1.0_1781024939422_0.5241207850306526","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@calmesh/mcp-server","version":"0.1.1","keywords":["mcp","model-context-protocol","calendar","scheduling","ai","claude","llm","booking","availability"],"license":"MIT","_id":"@calmesh/mcp-server@0.1.1","maintainers":[{"name":"davidklemme","email":"david@berlinersoftwareschmiede.de"}],"homepage":"https://calmesh.xyz","bugs":{"url":"https://github.com/davidklemme/calmesh-mcp-server/issues"},"bin":{"calmesh-mcp":"dist/index.js"},"dist":{"shasum":"98191b6cffc4398b6bf3f18c3b83826b65cd87e2","tarball":"https://registry.npmjs.org/@calmesh/mcp-server/-/mcp-server-0.1.1.tgz","fileCount":5,"integrity":"sha512-8rz8MvzHKIy6PZm7OeSf/XxWsZA5eZZPBW9wX78G5Wn1WNItHGsu75eJnZ5CW7dbBiNkYjHLGLG3LyYXmzu0sQ==","signatures":[{"sig":"MEQCID+E2ktlVRCR3cY/CnvP/qJ2V+yt+RZL3RnyUcp+gPajAiBkpTms8vy/pzPnYZT9fSXrMlAIFX+B/qfWvA/m+JO9sA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44880},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"da3bdc0c46fc6f4f5c510abe50c10eed5d4d3813","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","pretest":"tsup"},"_npmUser":{"name":"davidklemme","email":"david@berlinersoftwareschmiede.de"},"repository":{"url":"git+https://github.com/davidklemme/calmesh-mcp-server.git","type":"git"},"_npmVersion":"11.11.0","description":"MCP server for CalMesh calendar infrastructure","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^4.1.0","typescript":"^5.7.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.1.1_1781025866447_0.5989798157981019","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@calmesh/mcp-server","version":"0.1.2","description":"MCP server for CalMesh calendar infrastructure","type":"module","keywords":["mcp","model-context-protocol","calendar","scheduling","ai","claude","llm","booking","availability"],"repository":{"type":"git","url":"git+https://github.com/davidklemme/calmesh-mcp-server.git"},"homepage":"https://calmesh.xyz","bugs":{"url":"https://github.com/davidklemme/calmesh-mcp-server/issues"},"bin":{"calmesh-mcp":"dist/index.js"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsup","dev":"tsup --watch","pretest":"tsup","test":"vitest run"},"dependencies":{"@modelcontextprotocol/sdk":"^1.12.0","zod":"^4.0.0"},"devDependencies":{"@types/node":"^25.9.2","tsup":"^8.4.0","typescript":"^5.7.0","vitest":"^4.1.0"},"engines":{"node":">=18"},"license":"MIT","gitHead":"47e58dfe3bfcdf5649ee4ff041c851d29b1d0622","_id":"@calmesh/mcp-server@0.1.2","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-BLC8yI9a4kldzPdaFGixs8B/fQKSrZpK2fFl7gFuLMA/JMOZBufG2MFfXteYD7zE0X7wQnYWPoZRntzPbgVpBw==","shasum":"7f6408ab52c6cc9be41847869381a8eeac953b59","tarball":"https://registry.npmjs.org/@calmesh/mcp-server/-/mcp-server-0.1.2.tgz","fileCount":5,"unpackedSize":44910,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGs1up9Nl/ciow5kIdhDJSzvL8zK+jH0aNBsT++9V15NAiAwaA8oYRzjWymlOy8xoWgK9SPAHp+Un+G8CQJj0aB6xg=="}]},"_npmUser":{"name":"davidklemme","email":"david@berlinersoftwareschmiede.de"},"directories":{},"maintainers":[{"name":"davidklemme","email":"david@berlinersoftwareschmiede.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server_0.1.2_1781026809715_0.49506987818716897"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-09T17:08:59.243Z","modified":"2026-06-09T17:40:10.019Z","0.1.0":"2026-06-09T17:08:59.586Z","0.1.1":"2026-06-09T17:24:26.601Z","0.1.2":"2026-06-09T17:40:09.913Z"},"bugs":{"url":"https://github.com/davidklemme/calmesh-mcp-server/issues"},"license":"MIT","homepage":"https://calmesh.xyz","keywords":["mcp","model-context-protocol","calendar","scheduling","ai","claude","llm","booking","availability"],"repository":{"type":"git","url":"git+https://github.com/davidklemme/calmesh-mcp-server.git"},"description":"MCP server for CalMesh calendar infrastructure","maintainers":[{"name":"davidklemme","email":"david@berlinersoftwareschmiede.de"}],"readme":"# @calmesh/mcp-server\n\nMCP server for [CalMesh](https://calmesh.xyz) — AI-first calendar infrastructure. Connects AI agents to your calendars, bookings, and scheduling polls via the [Model Context Protocol](https://modelcontextprotocol.io).\n\n## Quick Start\n\n```bash\nCALMESH_API_KEY=cm_live_... npx @calmesh/mcp-server\n```\n\n## Setup\n\n### Claude Desktop\n\nAdd to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"calmesh\": {\n      \"command\": \"npx\",\n      \"args\": [\"@calmesh/mcp-server\"],\n      \"env\": {\n        \"CALMESH_API_KEY\": \"cm_live_your_key_here\"\n      }\n    }\n  }\n}\n```\n\n### Cursor\n\nAdd to `.cursor/mcp.json` in your project:\n\n```json\n{\n  \"mcpServers\": {\n    \"calmesh\": {\n      \"command\": \"npx\",\n      \"args\": [\"@calmesh/mcp-server\"],\n      \"env\": {\n        \"CALMESH_API_KEY\": \"cm_live_your_key_here\"\n      }\n    }\n  }\n}\n```\n\n### Windsurf\n\nAdd to `~/.codeium/windsurf/mcp_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"calmesh\": {\n      \"command\": \"npx\",\n      \"args\": [\"@calmesh/mcp-server\"],\n      \"env\": {\n        \"CALMESH_API_KEY\": \"cm_live_your_key_here\"\n      }\n    }\n  }\n}\n```\n\n## Available Tools\n\n### Core Tools\n\n#### Read operations (require `read` scope)\n\n| Tool | Description |\n|------|-------------|\n| `calmesh_list_calendars` | List all unified calendars |\n| `calmesh_get_events` | Get events within a date range |\n| `calmesh_get_event_details` | Get full event details (title, description, location) |\n| `calmesh_check_availability` | Check available time slots |\n| `calmesh_find_conflicts` | Find overlapping events |\n\n#### Write operations (require `write` scope)\n\n| Tool | Description |\n|------|-------------|\n| `calmesh_create_event` | Create a calendar event |\n| `calmesh_delete_event` | Delete a calendar event |\n\n### Booking Tools (require `book` scope)\n\n| Tool | Description |\n|------|-------------|\n| `calmesh_get_slots` | Get available booking slots |\n| `calmesh_create_booking` | Create a new booking |\n| `calmesh_cancel_booking` | Cancel a booking |\n| `calmesh_list_bookings` | List bookings with pagination |\n\n### Poll Tools (require `book` scope for create/decide, `read` for list/overlap)\n\n| Tool | Description |\n|------|-------------|\n| `calmesh_create_poll` | Create a scheduling poll |\n| `calmesh_list_polls` | List all polls |\n| `calmesh_get_poll_overlap` | Get participant overlap |\n| `calmesh_decide_poll` | Finalize poll with chosen time |\n\n### Setup Tools (require `full` scope)\n\n| Tool | Description |\n|------|-------------|\n| `calmesh_start_oauth_connection` | Connect Google or Microsoft calendar |\n| `calmesh_start_credential_connection` | Connect CalDAV or iCal URL |\n| `calmesh_check_connection_status` | Check connection sync status |\n| `calmesh_list_connections` | List all connections |\n| `calmesh_remove_connection` | Remove a connection |\n| `calmesh_create_calendar` | Create unified calendar with sources |\n| `calmesh_manage_calendar` | Update calendar, manage sources |\n\n## HTTP Transport\n\nFor remote or hosted MCP clients, use the HTTP transport:\n\n```bash\nCALMESH_API_KEY=cm_live_... \\\nCALMESH_HTTP_SECRET=your_secret_token \\\nnpx @calmesh/mcp-server --transport http --port 3100\n```\n\nThe server binds to `127.0.0.1` by default. All requests must include `Authorization: Bearer <http-secret>`.\n\n## CLI Options\n\n```\n--api-key <key>       CalMesh API key (prefer CALMESH_API_KEY env var)\n--base-url <url>      API base URL (default: https://calmesh.xyz)\n--transport <type>    stdio (default) or http\n--port <port>         HTTP port (default: 3100)\n--host <host>         HTTP host (default: 127.0.0.1)\n--http-secret <token> Required for HTTP transport\n--help                Show help\n--version             Show version\n```\n\n## Troubleshooting\n\n**\"Invalid or expired API key\"**\nGenerate a new API key at [calmesh.xyz/dashboard/api-keys](https://calmesh.xyz/dashboard/api-keys).\n\n**\"Insufficient permissions\"**\nYour API key scope is too low. Core tools need `read`, booking tools need `book`, setup tools need `full`.\n\n**\"Rate limit exceeded\"**\nWait a moment and retry.\n\n**\"Unable to reach CalMesh API\"**\nCheck your network connection and `--base-url` value.\n\n**\"CalMesh API request timed out\"**\nRequests time out after 30 seconds. Retry or check service status.\n\n**HTTP transport \"Unauthorized\"**\nEnsure your client sends `Authorization: Bearer <http-secret>` with every request.\n","readmeFilename":"README.md"}