mcp-server

Agent-first meeting schedule polls for humans and agents. Create polls, vote, find times.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
100%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~985Tokens (tool definitions)
~1.2 KBTypical response size
Moderate attention impact (0.77% of 128k context)

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

npm@meetlark/mcp-server1.0.3stdio

Remote endpoints

https://meetlark.ai/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡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

retrieve_data
Get details about [item] from mcp-server
Expected tools: meetlark_get_results
fetch_info
Fetch [information type] using mcp-server
Expected tools: meetlark_get_results

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools
verifiedversion not recorded6 tools