calendar-mcp
Provides tools to manage Apple Calendar events across all configured accounts (iCloud, Google, Exchange, etc.) on macOS.
Allows creation, retrieval, updating, deletion, and searching of Google Calendar events via Calendar.app.
Allows creation, retrieval, updating, deletion, and searching of iCloud Calendar events via Calendar.app.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@calendar-mcpcreate a meeting tomorrow at 2pm"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
calendar-mcp
MCP server that gives Claude (and other MCP hosts) full access to Calendar.app on macOS — list, search, create, update, and delete events — across every account configured in Calendar.app (iCloud, Google, Exchange, etc.).
Prerequisites
macOS (Calendar.app required)
Node.js 20+
An MCP host: Claude Desktop or any stdio MCP client
Related MCP server: Apple Calendar MCP
Installation
Claude Desktop — one-click install (recommended)
Download
calendar-mcp.mcpbfrom the latest releaseDouble-click the
.mcpbfile — Claude Desktop installs it automaticallyGrant the required macOS permissions (see below)
Manual / other hosts
npx @p-l-ta/calendar-mcpOr install globally:
npm install -g @p-l-ta/calendar-mcp
calendar-mcpPoint your MCP host at the calendar-mcp binary (stdio transport). Example config:
{
"mcpServers": {
"calendar-app": {
"command": "npx",
"args": ["@p-l-ta/calendar-mcp"]
}
}
}Required macOS permissions
Grant these to the application that runs the MCP host (Claude Desktop, etc.):
Permission | Where to grant |
Full Disk Access | System Settings → Privacy & Security → Full Disk Access |
Automation → Calendar | System Settings → Privacy & Security → Automation |
The MCP server process inherits permissions from the host application that launches it.
Tools
Tool | Description |
| List all calendars with name, color, account, and UUID |
| List events in a date range, including recurring-event occurrences |
| Get full details of a single event by UUID, including attendees |
| Search events by text across title, description, and location |
| Create a new calendar event |
| Update properties of an existing event |
| Permanently delete an event |
How it works
Reads (
list_calendars,list_events,search_events,get_event) — query Calendar's SQLite database directly for fast, structured results across all accounts. Recurring events are expanded correctly via Calendar'sOccurrenceCachetable.Writes (
create_event,update_event,delete_event) — driven by AppleScript automation against Calendar.app, so changes sync to all connected accounts (iCloud, Google, Exchange) just as if you'd made them in the app.
Development
npm install
npm run dev # tsx watch — live reload
npm run build # compile TypeScript → dist/
npm run mcpb # build Claude Desktop extension → build/calendar-mcp.mcpb
npm run smoke # smoke-test all 7 tools against live Calendar.app dataNote:
npm run smokerequires Terminal.app (or your terminal emulator) to have Full Disk Access, since it reads Calendar.sqlitedb directly.
Interactive MCP testing:
npm run build
npx @modelcontextprotocol/inspector node dist/server.jsPrivacy Policy
calendar-mcp is a local MCP server that runs entirely on your Mac. It has no backend, no telemetry, and makes no network requests of its own.
What it accesses:
Calendar's SQLite database (
~/Library/Group Containers/group.com.apple.calendar/Calendar.sqlitedb) — read-only, used for list/search queriesCalendar.app via AppleScript — to create, update, and delete events
What it does NOT do:
Collect, store, or transmit any data outside your Mac
Connect to any external server or API
Log calendar data anywhere
All calendar data stays on your device and is only passed to the MCP host (Claude Desktop or another client) as part of normal tool responses. You control exactly which tools Claude can invoke.
License
MIT
Available Tools
7 toolscreate_eventA
Create a new event in Calendar.app. Goes through AppleScript so Calendar.app syncs the new event to all connected accounts. Returns the uid of the created event. Supports recurring events via the recurrence field.
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | ISO 8601 end datetime, e.g. '2026-05-10T10:00:00'. | |
| url | No | URL to attach to the event. | |
| start | Yes | ISO 8601 start datetime, e.g. '2026-05-10T09:00:00'. | |
| all_day | No | True for an all-day event. When true, start/end times are ignored — only the dates are used. | |
| summary | Yes | Event title. | |
| calendar | Yes | Name of the target calendar (e.g. 'Calendar', 'Work'). Must match an existing calendar name exactly. | |
| location | No | Location string. | |
| recurrence | No | Recurrence rule. Omit for a one-time event. | |
| description | No | Event notes/body. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable behavior beyond annotations: it goes through AppleScript, syncs to all connected accounts, returns the created event's uid, and supports recurrence. No contradiction with readOnlyHint=false or destructiveHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences with no filler, front-loaded with the core action and followed by mechanism, return value, and capability. Slight redundancy from repeating 'Calendar.app' twice, but overall well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter tool with a nested recurrence object and no output schema, the description supplies the key return value (uid) and the notable sync behavior. Error conditions and calendar prerequisites are left to the schema, but this is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters are already documented. The description mentions the recurrence field, but that adds little beyond the detailed schema definition; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the exact action and target ('Create a new event in Calendar.app'), clearly distinguishing it from the sibling update/delete/read tools. Additional detail on the AppleScript mechanism and returned uid reinforces its identity as a creation tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The verb 'Create' makes the primary use case clear, but the description does not explicitly contrast with update_event or mention prerequisites like existing calendars. Usage is implied rather than directly routed, so it sits at the middle of the scale.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_eventADestructive
Permanently delete a Calendar.app event identified by its uid. Goes through AppleScript so the deletion syncs to all connected accounts. This action cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| uid | Yes | The iCal uid of the event to delete (uid field from list_events, search_events, or get_event). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds syncing behavior and irreversibility beyond annotations (destructiveHint=true). No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two focused sentences, front-loaded with action, minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for a simple delete with one param; annotations handle destructiveness; syncing note adds context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and schema describes uid source. Description adds no extra param info, baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it deletes a Calendar.app event by uid, distinct from siblings (list, create, update, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes syncing via AppleScript and irreversibility, guiding when to use. Implicitly excludes updates or reads.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_eventARead-only
Get full details of a single Calendar.app event by UUID, including attendees and all metadata. The uuid field is returned by list_events and search_events.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | The event UUID (or iCal unique_identifier) returned by list_events, search_events, or a prior get_event call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds value by specifying the return includes attendees and all metadata, but does not mention any additional behaviors like rate limits or permissions. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the purpose, and contains no unnecessary words. It is efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains it returns full details including attendees and all metadata, which is sufficiently complete for a simple retrieval tool. It could have listed more fields but is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the uuid parameter thoroughly. The description adds context about the UUID source, which is useful but minimal beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves full details of a single Calendar.app event by UUID. It distinguishes from sibling tools like list_events (which likely returns summaries) and search_events, and specifies the source of the UUID.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates when to use this tool, by stating the uuid is returned by list_events and search_events. It provides clear context but does not explicitly mention when not to use it or alternative tools for other scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_calendarsARead-only
List all Calendar.app calendars across all accounts, with name, UUID, color, and account info. UUIDs can be passed to list_events, search_events, and get_event to filter by calendar.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. Description adds context by specifying it returns data across all accounts and includes specific fields, which is useful beyond annotation hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action and output details. Every word adds value—no redundancy. Structurally ideal for quick parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description fully covers return values (name, UUID, color, account info) and links to other tools. Complete for a simple list tool without complex behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist; schema coverage is 100%. Description does not need to add parameter info. Baseline score of 4 for zero-parameter tools is appropriate as no additional explanation required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'List all Calendar.app calendars across all accounts' with specific fields (name, UUID, color, account info). Differentiates from sibling tools by explaining UUIDs can be passed to filtering tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly guides usage by noting UUIDs from this tool can be used to filter events in list_events, search_events, and get_event. Implicitly indicates this is for obtaining calendar identifiers before event queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_eventsARead-only
List calendar events within a date range. Queries the Calendar.app SQLite database via OccurrenceCache, which correctly expands recurring event instances rather than just listing master events. Returns events sorted by start time.
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | ISO 8601 end of the window (exclusive). Events whose occurrence starts before this time are included. | |
| limit | No | ||
| start | Yes | ISO 8601 start of the window, e.g. '2026-05-01T00:00:00' or '2026-05-01'. Events whose occurrence starts on or after this time are included. | |
| calendar_uuid | No | Restrict results to a single calendar. Pass a UUID from list_calendars. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true and destructiveHint=false. Description adds that the tool queries the OccurrenceCache, expands recurring instances, and sorts by start time, which are useful behavioral details beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, no redundancy. Purpose stated first, then technical detail, then output ordering. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers main behavior, expansion, ordering. No output schema exists, so return format is not described, but the description gives enough context for a list operation. Could mention pagination or default limit behavior more explicitly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75% (3 of 4 params described). Description adds clarification: start and end are ISO 8601, end is exclusive, calendar_uuid should come from list_calendars. This adds practical meaning beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'List' and resource 'calendar events within a date range'. Differentiates from siblings like list_calendars (lists calendars) and search_events (likely searches by text).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage: for listing events in a date range. No explicit guidance on when not to use or alternatives, but context from description and sibling names provides some differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_eventsARead-only
Search Calendar.app events by text across title, description, and location. Queries CalendarItem directly for fast full-text matching. For recurring events returns the master event; use list_events for occurrence-level detail.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | ISO 8601 date — only events starting before this date. | |
| limit | No | ||
| query | Yes | Text to search for in event title, description, and location. | |
| start | No | ISO 8601 date — only events starting on or after this date. | |
| calendar_uuid | No | Restrict results to a single calendar. Pass a UUID from list_calendars. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and non-destructive nature. Description adds useful behavioral context: fast full-text matching via direct CalendarItem query and recurrence behavior, which goes beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no waste. First sentence states the core purpose, second adds performance hint, third provides recurrence handling and sibling redirection. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, usage guidance, and key behavioral trait (recurring event handling). No output schema, but return values are adequately implied. With rich siblings and annotations, the description is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high (80%), so baseline is 3. The description does not add significant new meaning for parameters beyond what the schema already provides (e.g., it restates the query field's scope).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action (search), resource (Calendar.app events), and scope (text across title, description, location). Distinguishes from sibling list_events by noting that search_events returns master events for recurring ones.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to use list_events for occurrence-level detail when dealing with recurring events. Does not provide a full when-not-to-use guide, but the sibling mention suffices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_eventA
Update properties of an existing Calendar.app event identified by its uid. Only provided fields are changed. Goes through AppleScript so changes sync to all connected accounts.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | New ISO 8601 end datetime. | |
| uid | Yes | The iCal uid of the event to update (uid field from list_events, search_events, or get_event). | |
| url | No | New URL. Pass empty string to clear. | |
| start | No | New ISO 8601 start datetime. | |
| summary | No | New event title. | |
| location | No | New location string. Pass empty string to clear. | |
| description | No | New event notes/body. Pass empty string to clear. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate non-readonly and non-destructive nature. Description adds context about AppleScript and syncing, but misses error behavior (e.g., uid not found) and permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. Purpose and key behavioral note are front-loaded, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters and no output schema, the description explains partial update and sync but omits return value, error handling, and prerequisites (e.g., event existence). Satisfactory but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions. The description adds the key insight of partial updates ('Only provided fields are changed'), but does not further elaborate on parameter semantics beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'update', the resource 'Calendar.app event', and the unique identifier 'uid'. It distinguishes itself from sibling tools by specifying it modifies existing events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions partial updates ('Only provided fields are changed') but does not provide explicit guidance on when to use this tool versus siblings like create_event or delete_event, nor any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
v1.0.1- Changed
create_event1 field changed- added
Input schema / properties / recurrenceAdded value: +{ + "description": "Recurrence rule. Omit for a one-time event.", + "properties": { + "count": { + "description": "Stop after this many total occurrences (including the first). Mutually exclusive with end_date.", + "maximum": 9007199254740991, + "minimum": 1, + "type": "integer" + }, + "days_of_week": { + "description": "For weekly: which days to repeat on (e.g. ['MO','WE','FR'] for MWF). For monthly with week_of_month: the single day of the week (e.g. ['MO'] for 'first Monday').", + "items": { + "enum": [ + "MO", + "TU", + "WE", + "TH", + "FR", + "SA", + "SU" + ], + "type": "string" + }, + "type": "array" + }, + "end_date": { + "description": "Stop recurring on or before this date (ISO 8601). Mutually exclusive with count.", + "type": "string" + }, + "frequency": { + "description": "How often the event repeats.", + "enum": [ + "daily", + "weekly", + "monthly", + "yearly" + ], + "type": "string" + }, + "interval": { + "default": 1, + "description": "Repeat every N frequency units. Default 1 (e.g. interval 2 with frequency 'weekly' = every other week).", + "maximum": 9007199254740991, + "minimum": 1, + "type": "integer" + }, + "week_of_month": { + "description": "For monthly recurrence by position: 1=first, 2=second, 3=third, 4=fourth, -1=last. Requires exactly one entry in days_of_week (e.g. week_of_month=1, days_of_week=['MO'] = first Monday of each month).", + "maximum": 5, + "minimum": -1, + "type": "integer" + } + }, + "required": [ + "frequency" + ], + "type": "object" +}
7 tool updates
v1.0.0- First observed
create_event - First observed
delete_event - First observed
get_event - First observed
list_calendars - First observed
list_events - First observed
search_events - First observed
update_event
TDQS
Each tool targets a distinct operation: fetching one event, listing by range, searching by text, listing calendars, and the create/update/delete lifecycle. The overlap between list_events and search_events is clearly resolved by different query methods and return semantics.
All tools follow a consistent verb_noun snake_case pattern: get/list/search/create/update/delete plus event/calendars. Pluralization is used sensibly for list operations, so there are no confusing deviations.
Seven tools is well-scoped for a calendar server. Each tool covers a distinct and necessary operation without redundancy, and there is no bloat or overly thin coverage.
The event lifecycle is fully covered with create, get, list, search, update, and delete, and calendar enumeration supports filtering and event retrieval. Calendar creation and modification are reasonably left out since calendars are typically account-managed, so there are no critical dead ends.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for Cronofy — read calendars, events and free/busy, and create, update or delete events.
Hosted Google Calendar MCP server for AI agents. No self-hosting or Google Cloud setup.
MCP server for Nylas — read email, calendars, events and contacts, and send email or create events.
A MCP server that works with Google Calendar to manage event listing, reading, and updates.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server for accessing macOS Calendar events2MIT
- AlicenseNot gradedqualityDmaintenanceEnables Claude and other MCP clients to directly interact with macOS Calendar.app using AppleScript for local calendar management. Provides tools for listing, searching, creating, updating, and deleting calendar events without cloud APIs or CalDAV setup.184MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for Apple Calendar via native EventKit API with proper recurring event support.1810MIT
- AlicenseAqualityBmaintenanceMCP server for Apple Calendar and CalDAV providers. Enables listing, creating, updating, deleting events, and checking free/busy status with per-calendar write protection.6MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/p-l-ta/calendar-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server