mcp-server
Agent-first meeting schedule polls for humans and agents. Create polls, vote, find times.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"@meetlark/mcp-server"
]
}
}
}Runnable packages
1.0.3stdioRemote endpoints
https://meetlark.ai/mcpstreamable-httpWhat it can do
Tool inventory
Tools (6)
🟡meetlark_create_poll(title, description, timeSlots, creatorEmail, creatorName)
Create a scheduling poll to find a time that works for a group. Returns an admin URL (keep private) and a participation URL (share with participants). The creator's email must be verified -- if not yet verified, a verification email is sent automatically. Ask the user to check their inbox and click the link, then retry.
Input Schema
{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "What is this poll for?"
},
"description": {
"description": "Additional context for participants",
"type": "string"
},
"timeSlots": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Date in YYYY-MM-DD format"
},
"startTime": {
"type": "string",
"description": "Start time in HH:MM format"
},
"endTime": {
"type": "string",
"description": "End time in HH:MM format"
}
},
"required": [
"date",
"startTime",
"endTime"
]
},
"description": "Available time slots to vote on"
},
"creatorEmail": {
"type": "string",
"description": "Email address of the poll creator"
},
"creatorName": {
"description": "Name of the poll creator",
"type": "string"
}
},
"required": [
"title",
"timeSlots",
"creatorEmail"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢meetlark_get_results(participateToken)
Get poll details and available time slots using a participation token. Returns the poll title, description, status, and time slots -- but NOT votes or participant data. This is the view a participant sees before voting. To see who voted and how, use meetlark_get_admin_view instead.
Input Schema
{
"type": "object",
"properties": {
"participateToken": {
"type": "string",
"description": "The prt_xxx token from the participation URL"
}
},
"required": [
"participateToken"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪meetlark_vote(participateToken, name, email, votes)
Cast a vote on a scheduling poll. Each time slot can be voted yes, maybe, or no. Requires participant name and email. Use the participation token from the poll's participate URL. If the email matches a previous voter on this poll, their response is updated instead of creating a duplicate.
Input Schema
{
"type": "object",
"properties": {
"participateToken": {
"type": "string",
"description": "The prt_xxx token from the participation URL"
},
"name": {
"type": "string",
"description": "Name to display in results"
},
"email": {
"type": "string",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"description": "Participant's email address (required). Used to identify returning voters and send confirmation email."
},
"votes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timeSlotId": {
"type": "string",
"description": "Time slot ID"
},
"value": {
"type": "string",
"enum": [
"yes",
"maybe",
"no"
],
"description": "Vote value"
}
},
"required": [
"timeSlotId",
"value"
]
},
"description": "Votes for each time slot"
}
},
"required": [
"participateToken",
"name",
"email",
"votes"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢meetlark_get_admin_view(adminToken)
Get full poll details including all votes and participants. This is the only way to see who voted and how they voted. Returns poll info, time slots, every participant's votes (yes/maybe/no per slot), participant emails, and admin URLs. Use the admin token from poll creation. Use this to check vote status or results.
Input Schema
{
"type": "object",
"properties": {
"adminToken": {
"type": "string",
"description": "The adm_xxx token from poll creation"
}
},
"required": [
"adminToken"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪meetlark_close_poll(adminToken)
Close a poll to stop accepting new votes. Use the admin token from poll creation.
Input Schema
{
"type": "object",
"properties": {
"adminToken": {
"type": "string",
"description": "The adm_xxx token from poll creation"
}
},
"required": [
"adminToken"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪meetlark_reopen_poll(adminToken)
Reopen a previously closed poll to accept votes again. Use the admin token from poll creation.
Input Schema
{
"type": "object",
"properties": {
"adminToken": {
"type": "string",
"description": "The adm_xxx token from poll creation"
}
},
"required": [
"adminToken"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Recommended Prompts
meetlark_get_resultsmeetlark_get_resultsCommunity
Evidence