Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
Description from the maker (original English)
MCP server for Meridian: services, requests, workflow, payments, meetings for founders.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
MERIDIAN_API_URL, MERIDIAN_API_KEY, MERIDIAN_MCP_LOG_LEVELValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"meridian": {
"command": "npx",
"args": [
"-y",
"@meridiantoolkit/mcp"
],
"env": {
"MERIDIAN_API_URL": "your-value",
"MERIDIAN_API_KEY": "your-value",
"MERIDIAN_MCP_LOG_LEVEL": "your-value"
}
}
}
}Run this in your terminal
claude mcp add meridian --env MERIDIAN_API_URL=your-value --env MERIDIAN_API_KEY=your-value --env MERIDIAN_MCP_LOG_LEVEL=your-value -- npx -y @meridiantoolkit/mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"meridian": {
"command": "npx",
"args": [
"-y",
"@meridiantoolkit/mcp"
],
"env": {
"MERIDIAN_API_URL": "your-value",
"MERIDIAN_API_KEY": "your-value",
"MERIDIAN_MCP_LOG_LEVEL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"meridian": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@meridiantoolkit/mcp"
],
"env": {
"MERIDIAN_API_URL": "your-value",
"MERIDIAN_API_KEY": "your-value",
"MERIDIAN_MCP_LOG_LEVEL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
MERIDIAN_API_URL envMERIDIAN_MCP_LOG_LEVEL envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 9, 2026
The registry name was verified with the GitHub account meridian-silkdev, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: MERIDIAN_API_KEY
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.1.2) reached the registry 2 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Agent-Native Google Calendar - manage events, sync, and public booking
Lets AI create and edit Excel files itself, including formulas, charts and PivotTables, without Excel installed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
MCP server for the Meridian business-services platform. Exposes services, service requests, workflow steps, payments and meetings as Model Context Protocol tools and resources. MCP is a protocol, not a host-specific plugin format — this server runs unchanged in Claude Code, Codex CLI, Claude Desktop, pi, or any other MCP-compatible client.
Listed on the official MCP Registry as io.github.meridian-silkdev/meridian-mcp, and on Glama.
cd meridian-mcp
npm install npm run build
Or once published:
npx @meridiantoolkit/mcp
Copy .env.example or set env vars directly:
| Var | Description | Default |
|---|---|---|
MERIDIAN_API_URL | Meridian app base URL | http://localhost:3000 |
MERIDIAN_API_KEY | mrd_ API key (Better Auth) for REST calls | *(none — tools return placeholder hint until set)* |
DATABASE_URL | Optional direct DB access fallback | |
MERIDIAN_MCP_LOG_LEVEL | debug/info/warn/error | info |
More: /.well-known/agent-configuration exposes Agent Auth discovery (capability-based, short-lived JWTs, device-auth/CIBA approval). Agents can use either a long-lived mrd_ key or scoped Agent Auth grants — see meridian-skills meridian-api skill.
Without MERIDIAN_API_KEY every tool still responds — it explains what endpoint would be called and what to configure, so the server is safe to run in dry-run / demo mode.
npm start # stdio MCP server
npm run dev # watch mode via tsx
claude mcp add meridian -- node /absolute/path/to/meridian-mcp/dist/index.js
claude mcp add meridian -- npx -y @meridiantoolkit/mcp
Or drop a .mcp.json in your project root (shareable with a team, checked into git):
{
"mcpServers": { "meridian": { "command": "npx", "args": ["-y", "@meridiantoolkit/mcp"], "env": { "MERIDIAN_API_URL": "http://localhost:3000", "MERIDIAN_API_KEY": "..." } } } }
Codex reads MCP servers from ~/.codex/config.toml (or a project-scoped .codex/config.toml for a trusted project):
[mcp_servers.meridian]
command = "npx" args = ["-y", "@meridiantoolkit/mcp"] env = { MERIDIAN_API_URL = "http://localhost:3000", MERIDIAN_API_KEY = "..." }
Or via the CLI: codex mcp add meridian -- npx -y @meridiantoolkit/mcp. The same config is shared by Codex CLI, the IDE extension, and the ChatGPT desktop app.
Codex has no plugin/skill system (unlike Claude Code and pi) — its equivalent of meridian-plugin/meridian-skills is just this MCP server plus project guidance. Copy AGENTS.md.example into your project's AGENTS.md for the same tool-usage guidance the skills packages give elsewhere.
Add to your MCP config (Claude Desktop: claude_desktop_config.json; pi: .pi/settings.json → mcpServers, or pi --mcp):
{
"mcpServers": { "meridian": { "command": "node", "args": ["/absolute/path/to/meridian-mcp/dist/index.js"], "env": { "MERIDIAN_API_URL": "http://localhost:3000", "MERIDIAN_API_KEY": "..." } } } }
pi --mcp meridian-mcp/dist/index.js
npx @meridiantoolkit/mcp
| Tool | Description |
|---|---|
meridian_status | Check API connectivity/config and list available tools/resources. No params. Works the same in every client — this replaces the pi-only meridian_status extension tool from meridian-plugin so status-checking isn't tied to one host. |
list_services | List services (filter: categorySlug, isActive, countryCode) |
get_service | Get service by id/slug with formConfig |
list_categories | List service categories |
list_service_requests | List requests (filter: status, customerId, providerId, limit) |
get_service_request | Get request by id with steps |
create_service_request | Create request (serviceId, answers, customTitle) |
update_request_status | Patch request status (prefer advance_step) |
get_workflow_status | Current phase + all requestSteps |
advance_step | Complete current step → next step |
list_request_steps | All RequestSteps in order |
get_payment_status | Payment row for a request |
verify_payment | Server-side verify with Flouci (Tunisia, local) or Stripe (international) |
list_meetings | List meetings (filter: serviceRequestId, status) |
create_meeting | Create Teams meeting + invites |
respond_to_meeting | RSVP ACCEPTED/DECLINED/PENDING |
| URI | Description |
|---|---|
meridian://services | Service catalog JSON |
meridian://workflow | Workflow backbone + phases |
npm run typecheck
npm run build npm test # spawns the built server over stdio and exercises every tool/resource
First publish (manual, one-time — a scoped package can't use Trusted Publishing until it exists on the registry):
npm login # once per machine
npm publish --access public
main and every PR: npm ci, typecheck, build, npm test (the real stdio smoke suite).package.json's version, then:npm publish --provenance via npm's Trusted Publishing (OIDC) — no NPM_TOKEN secret to create or rotate.mcp-publisher login github-oidc + mcp-publisher publish (also OIDC, no secret). server.json's version is synced to the release tag automatically. This step has continue-on-error: true — the registry is explicitly in preview, so a hiccup there never blocks the actual npm release.mcpName requirement: package.json has an "mcpName": "io.github.meridian-silkdev/meridian-mcp" field — the registry's package validator needs this to confirm the npm package and the GitHub-verified server identity are published by the same owner. If you ever rename the server in server.json, update this field too or publishes will 400.
Known upstream bug, worked around: the *interactive* mcp-publisher login github device flow reliably 403s when publishing under a GitHub organization namespace (confirmed-public membership, Owner role, doesn't matter — see modelcontextprotocol/registry#1537, still open as of this writing). github-oidc from inside a GitHub Actions workflow running in the org's own repo sidesteps it entirely, since it verifies the workflow's repo identity rather than checking the human account's org list. That's why the registry publish step lives in CI, not as a manual local command.
One-time setup after the first manual publish: on the package's npmjs.com page → Settings → Trusted Publisher → GitHub Actions, and point it at meridian-silkdev/meridian-mcp, workflow publish.yml. After that, releasing a new version is just:
npm version patch # or minor/major — bumps package.json + creates a git tag
git push --follow-tags gh release create v0.1.3 --generate-notes # publishing this release triggers both the npm and MCP Registry publish steps