meeting-mcp
Provides tools for creating Google Calendar events, generating add-to-calendar links, and scheduling meetings directly in a user's calendar.
Meeting Intelligence MCP
AI scheduling assistant for agents · x402 native · MCP compatible · Cloudflare Workers
Live at: https://meeting-mcp.com
What It Does
Meeting Intelligence gives AI agents the scheduling tools they need to handle real-world booking workflows — timezone conversion, public holiday checking, business hours validation, multi-timezone slot finding, and Google Calendar event creation.
Instead of an agent guessing or hallucinating timezone offsets and holiday dates, it calls structured tools and gets reliable structured data back.
Related MCP server: MCP Calendar Assistant
Tools
convert_time
Convert any time between timezones. Use when scheduling across countries.
{
"time": "2026-06-01T14:00:00",
"from": "America/New_York",
"to": "Europe/London"
}Returns: Local times in both zones, UTC reference, offset difference.
get_holidays
Get all public holidays for any country and year. Use before confirming a meeting date.
{
"country": "GB",
"year": 2026
}Returns: Complete list of public holidays with dates and names. Covers 100+ countries.
check_business_hours
Check if it is currently business hours in any timezone. Use before scheduling outreach or calls.
{
"timezone": "Asia/Tokyo",
"work_start": "09:00",
"work_end": "18:00"
}Returns: Current local time, day of week, open/closed status.
find_meeting_slots
Find optimal meeting windows that work across multiple participant timezones. Returns up to 10 available slots.
{
"participants": "Europe/London,America/New_York,Asia/Singapore",
"duration_minutes": 60,
"days": 5
}Returns: Up to 10 time slots with local time shown for every participant.
create_calendar_link
Generate Google Calendar and Outlook add-to-calendar links. Use at the end of every scheduling workflow.
{
"title": "Product Review",
"start": "2026-06-01T14:00:00Z",
"end": "2026-06-01T15:00:00Z",
"description": "Quarterly product review with the team",
"location": "https://zoom.us/j/123456"
}Returns: Ready-to-share Google Calendar link, Outlook link, and ICS file content.
create_event
Create a real event directly in Google Calendar. Requires the user's access token.
{
"access_token": "ya29.your_token_here",
"title": "Strategy Session",
"start": "2026-06-01T14:00:00Z",
"end": "2026-06-01T15:00:00Z",
"attendees": ["alice@company.com", "bob@company.com"],
"description": "Q3 planning session",
"timezone": "Europe/London"
}Returns: Event ID, confirmation link, attendees. Token available from Google OAuth Playground — select https://www.googleapis.com/auth/calendar scope.
Payment — x402 Protocol
This server uses the x402 micropayment protocol. $0.01 USDC per call on Base network. No account. No subscription. Agents pay automatically.
How it works:
Agent calls any tool → server returns
402 Payment Requiredwith wallet addressAgent sends 0.01 USDC on Base network → gets transaction hash
Agent retries with
X-Payment: <tx_hash>header → gets data
# Example with curl
curl -X POST https://YOUR-URL.workers.dev/mcp \
-H "Content-Type: application/json" \
-H "X-Payment: 0x_your_tx_hash_here" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_holidays","arguments":{"country":"GB","year":2026}}}'Connect via MCP
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"meeting-intelligence": {
"command": "npx",
"args": ["-y", "@smithery/cli", "run", "YOUR-SMITHERY-URL"]
}
}
}Smithery
Install directly: smithery.ai/server/stockvibes07/meeting-mcp
Any MCP Client
MCP endpoint: https://YOUR-URL.workers.dev/mcp
Discovery: https://YOUR-URL.workers.dev/.well-known/mcp.json
Real Workflow Example
Agent task: "Schedule a 1-hour call with someone in New York and someone in Tokyo next week. Make sure it avoids UK bank holidays."
The agent calls:
get_holidays→ checks for UK holidays next weekfind_meeting_slots→ finds windows across London/New York/Tokyoconvert_time→ confirms the best slot in all three timezonescheck_business_hours→ verifies all three locations are in working hourscreate_calendar_link→ generates links for all participantscreate_event→ books it in Google Calendar
Six tool calls. One complete workflow. $0.06 total cost.
Endpoints
Endpoint | Method | Auth | Description |
| GET | Free | Status check |
| GET | Free | MCP discovery |
| POST | Free (protocol) / x402 (tools) | MCP JSON-RPC |
| GET | x402 | Timezone conversion |
| GET | x402 | Public holidays |
| GET | x402 | Business hours check |
| GET | x402 | Meeting slot finder |
| GET | x402 | Calendar link generator |
| POST | x402 | Google Calendar event |
Data Sources
Public holidays: Nager.Date — free, covers 100+ countries
Timezone data: JavaScript
IntlAPI — built-in, always accurateCalendar events: Google Calendar API — requires user access token
Compatible With
Claude · ChatGPT · Cursor · VS Code · Windsurf · Cline · Claude Code · Any MCP client
Deploy Your Own
Clone this repo
Replace wallet address in
worker.jsline 13Deploy to Cloudflare Workers:
npm install
npx wrangler deployNo other configuration needed. All data sources are free with no API keys required.
Built on Cloudflare Workers · x402 Protocol · MCP 2024-11-05 spec
Available Tools
6 toolscheck_business_hoursC
Check if it is currently business hours in a timezone.
| Name | Required | Description | Default |
|---|---|---|---|
| timezone | No | IANA timezone e.g. Europe/London | |
| work_start | No | Start time HH:MM. Default 09:00 | |
| work_end | No | End time HH:MM. Default 17:00 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure. It fails to explain what 'business hours' means beyond default parameters, how timezone validation works, or what the output format is (e.g., boolean). The tool's behavior is underspecified.
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 extremely concise at one sentence, which is efficient. However, it sacrifices necessary detail for brevity, making it slightly under-informative. Still, it is front-loaded with the core action.
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 the tool's simplicity, the description could be complete but it omits critical context like return type (boolean?) and error handling for invalid timezones. Sibling tools suggest a calendar context, but no integration hints are provided. The description is insufficient for an agent to confidently use the tool.
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 clear parameter descriptions, so baseline is 3. The description adds no extra meaning beyond the schema, but the schema itself is adequate for parameter understanding.
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 'check' and resource 'business hours in a timezone', making the tool's purpose evident. However, it does not differentiate from sibling tools like convert_time or get_holidays, which could also involve time-related queries.
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?
No guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention that this tool only checks current time, while find_meeting_slots might be for future scheduling. The description lacks any context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_timeB
Convert a time from one timezone to another.
| Name | Required | Description | Default |
|---|---|---|---|
| time | Yes | ISO 8601 time e.g. 2026-06-01T14:00:00 | |
| from | No | Source IANA timezone e.g. America/New_York | |
| to | No | Target IANA timezone e.g. Europe/London |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description carries full burden. It reveals only the basic purpose but does not disclose behavior when optional parameters (from, to) are omitted, error handling, or output format.
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?
Single sentence is concise and states purpose clearly. However, it is somewhat minimal and could be slightly expanded without losing conciseness. Still 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?
For a simple conversion tool, description lacks details on output format, handling of missing timezone parameters (defaults), and error conditions. No output schema exacerbates this gap.
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% (all parameters are documented). The description adds no additional meaning beyond that; baseline of 3 applies.
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 uses specific verb 'Convert' and clearly states resource 'time from one timezone to another'. It distinguishes from sibling tools (events, holidays, etc.) which serve different purposes.
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?
No explicit guidance on when to use this tool versus alternatives. Usage is implied by the tool's name and description, but there is no 'when not to use' or comparison to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_calendar_linkB
Generate Google Calendar and Outlook add-to-calendar links.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Meeting title | |
| start | Yes | Start ISO 8601 UTC e.g. 2026-06-01T14:00:00Z | |
| end | Yes | End ISO 8601 UTC e.g. 2026-06-01T15:00:00Z | |
| description | No | Meeting description | |
| location | No | Location or video link |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose any behavioral traits such as side effects, authentication requirements, or whether the tool is idempotent. Since it generates links (a read-like operation), this is less critical, but the description still fails to mention that it does not create actual calendar events.
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 a single sentence with no unnecessary words. It is efficient and front-loaded with the key action and supported calendars.
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 the 5 parameters with full schema coverage but no output schema, the description is adequate but lacks detail on the return value (e.g., it generates links but does not specify the format or that links are returned). It is sufficient for a straightforward link generation tool but could be improved.
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?
The input schema covers 100% of parameters with descriptions, so the baseline is 3. The tool description adds no additional meaning beyond the schema, simply restating the function. No extra context like constraints or examples is provided.
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 generates add-to-calendar links for Google Calendar and Outlook, using a specific verb 'generate' and a specific resource 'add-to-calendar links'. This distinguishes it from sibling tools like create_event, which actually creates 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?
No guidance is provided on when to use this tool versus alternatives like create_event or find_meeting_slots. There is no mention of context or exclusions, leaving the agent to guess which tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_eventB
Create a real Google Calendar event.
| Name | Required | Description | Default |
|---|---|---|---|
| access_token | Yes | Google OAuth2 access token | |
| title | Yes | Event title | |
| start | Yes | Start ISO 8601 | |
| end | Yes | End ISO 8601 | |
| attendees | No | Attendee emails | |
| description | No | Event description | |
| timezone | No | IANA timezone. Default UTC |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description should disclose behavioral traits. It only states 'real' implying actual creation but omits details like required permissions, side effects, or error conditions. The input schema mentions access_token, but the description adds no extra insight.
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 a single, front-loaded sentence that effectively communicates the core action. However, given the tool's complexity (7 parameters), it is somewhat sparse, but still concise without unnecessary words.
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?
The description is minimal for a tool with 7 parameters, no annotations, and no output schema. It does not explain return values, success/failure behavior, or how it fits with sibling tools, leaving significant gaps for an agent.
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?
Since the input schema has 100% description coverage for all 7 parameters, the description does not need to add parameter details. It adds no extra semantics, but the schema already provides sufficient meaning, giving a baseline score of 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 explicitly states 'Create a real Google Calendar event,' which is a clear verb+resource combination. It distinguishes from sibling tools like 'create_calendar_link' which creates a link, not an event.
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?
No guidance is provided on when to use this tool versus alternatives such as 'find_meeting_slots' or 'check_business_hours'. The description lacks any context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_meeting_slotsB
Find optimal meeting times across multiple timezones.
| Name | Required | Description | Default |
|---|---|---|---|
| participants | No | Comma-separated IANA timezones | |
| duration_minutes | No | Duration in minutes. Default 60 | |
| days | No | Days to search ahead. Default 5 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose how 'optimal' is determined (e.g., whether it considers business hours, available slots, or conflicts). The tool's behavior is opaque, which is problematic for a scheduling tool.
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 a single, concise sentence that efficiently conveys the core function. Every word is necessary, and there is no redundancy or fluff.
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 the complexity of finding optimal meeting times across timezones, the description lacks essential context such as how business hours, holidays, or overlapping events are handled. No output schema is provided, leaving return format unclear. The tool's behavior is insufficiently specified.
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 parameters are already well-defined. The description adds no extra meaning beyond what the schema provides. A score of 3 reflects adequate reliance on the schema without additional context.
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's purpose: finding optimal meeting times across multiple timezones. It uses a specific verb ('Find') and resource ('meeting times'), and distinguishes itself from sibling tools like check_business_hours, convert_time, and create_event.
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 provides no guidance on when to use this tool vs alternatives (e.g., when to use check_business_hours or create_event instead). No context on prerequisites, limitations, or exclusions is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_holidaysB
Get public holidays for any country and year.
| Name | Required | Description | Default |
|---|---|---|---|
| country | No | ISO country code e.g. GB, US, DE | |
| year | No | Year e.g. 2026 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states 'Get public holidays', implying a read operation, but does not disclose any behavioral traits like the return format, data source freshness, or error handling. Minimal information beyond the tool's basic function.
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 extremely concise with a single sentence that is front-loaded with the core purpose. No extraneous words, earning 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?
With only 2 simple parameters, no output schema, and no annotations, the description is too minimal. It does not hint at the return type (e.g., list of holiday objects) or error conditions, which are gaps given the lack of structured output information.
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 descriptions for both 'country' and 'year' already provided (e.g., ISO country code). The tool description adds no extra meaning beyond the schema, not even clarifying required fields. Baseline of 3 is appropriate as the schema already does the heavy lifting.
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 'Get', the resource 'public holidays', and the scope 'any country and year'. It effectively distinguishes from sibling tools like create_event or find_meeting_slots, which have different purposes.
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?
No guidance is provided on when to use this tool versus alternatives, such as whether it is for read-only queries or if it complements other tools like check_business_hours. There is no mention of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: checking business hours, converting time, generating calendar links, creating events, finding meeting slots, and getting holidays. No overlapping functionality.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., check_business_hours, create_event), making them predictable and easy to understand.
With 6 tools, the server is well-scoped for meeting scheduling. The count is neither too few nor too many, and each tool serves a distinct purpose.
The set covers time conversion, availability, and event creation, but lacks tools for reading, updating, or deleting events. This leaves a notable gap for managing existing meetings.
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
Timezone tools for agents: convert, world clock, offset, lookup, date math, holidays, slots. x402
AI-native scheduling and booking: check availability, book meetings, share links.
Calendar API for AI agents: events, availability, Google/Microsoft setup, scheduling, and iCal.
Scheduling infrastructure for AI agents across Google and Microsoft calendars.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to intelligently schedule meetings by checking Microsoft Outlook calendars, finding available time slots across multiple participants, and automatically booking meetings with Teams integration. Uses Microsoft Graph API with smart fallback logic for optimal scheduling.1
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage calendars and tasks through natural language, supporting Google Calendar operations like event creation, availability checking, and smart scheduling. It features schedule analysis, task reminders, and meeting time recommendations to streamline productivity.
- FlicenseNot gradedqualityDmaintenanceAutomates meeting logistics with tools for scheduling, availability checking, slot finding, timezone conversion, and recurring date generation. Eliminates the need for custom calendar logic by providing validated time operations and formatted invitations for applications and AI assistants.
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/stock-vibes/meeting-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server