Skip to main content
Glama

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.


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:

  1. Agent calls any tool → server returns 402 Payment Required with wallet address

  2. Agent sends 0.01 USDC on Base network → gets transaction hash

  3. 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:

  1. get_holidays → checks for UK holidays next week

  2. find_meeting_slots → finds windows across London/New York/Tokyo

  3. convert_time → confirms the best slot in all three timezones

  4. check_business_hours → verifies all three locations are in working hours

  5. create_calendar_link → generates links for all participants

  6. create_event → books it in Google Calendar

Six tool calls. One complete workflow. $0.06 total cost.


Endpoints

Endpoint

Method

Auth

Description

/health

GET

Free

Status check

/.well-known/mcp.json

GET

Free

MCP discovery

/mcp

POST

Free (protocol) / x402 (tools)

MCP JSON-RPC

/convert-time

GET

x402

Timezone conversion

/holidays

GET

x402

Public holidays

/business-hours

GET

x402

Business hours check

/find-slots

GET

x402

Meeting slot finder

/calendar-link

GET

x402

Calendar link generator

/create-event

POST

x402

Google Calendar event


Data Sources

  • Public holidays: Nager.Date — free, covers 100+ countries

  • Timezone data: JavaScript Intl API — built-in, always accurate

  • Calendar 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

  1. Clone this repo

  2. Replace wallet address in worker.js line 13

  3. Deploy to Cloudflare Workers:

npm install
npx wrangler deploy

No 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 tools
check_business_hoursC

Check if it is currently business hours in a timezone.

ParametersJSON Schema
NameRequiredDescriptionDefault
timezoneNoIANA timezone e.g. Europe/London
work_startNoStart time HH:MM. Default 09:00
work_endNoEnd time HH:MM. Default 17:00

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeYesISO 8601 time e.g. 2026-06-01T14:00:00
fromNoSource IANA timezone e.g. America/New_York
toNoTarget IANA timezone e.g. Europe/London

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_eventB

Create a real Google Calendar event.

ParametersJSON Schema
NameRequiredDescriptionDefault
access_tokenYesGoogle OAuth2 access token
titleYesEvent title
startYesStart ISO 8601
endYesEnd ISO 8601
attendeesNoAttendee emails
descriptionNoEvent description
timezoneNoIANA timezone. Default UTC

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
participantsNoComma-separated IANA timezones
duration_minutesNoDuration in minutes. Default 60
daysNoDays to search ahead. Default 5

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
countryNoISO country code e.g. GB, US, DE
yearNoYear e.g. 2026

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

A3.5/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness3/5

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

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables 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
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
  • F
    license
    Not graded
    quality
    D
    maintenance
    Automates 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

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