A side-by-side look at the Delega MCP and Feishu User Plugin MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Delega MCP for workplace & productivity work as a local process; choose Feishu User Plugin for workplace & productivity as a local process. You can also run both side by side in one mcpServers block.
DELEGA_API_URL, DELEGA_AGENT_KEY, DELEGA_API_KEY, DELEGA_REVEAL_AGENT_KEYS, DELEGA_REVEAL_WEBHOOK_SECRETS.list_tasks, get_task, link_task.LARK_COOKIE, LARK_APP_ID, LARK_APP_SECRET, LARK_USER_ACCESS_TOKEN, LARK_USER_REFRESH_TOKEN.manage_bitable_app, manage_bitable_table, manage_bitable_field.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Workplace & Productivity | Workplace & Productivity |
| Quality signal | 59/100 · Good | 63/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | API key required | Not declared |
| Pricing | BYOK (pay the provider) | Not declared |
| Required env vars | DELEGA_API_URLDELEGA_AGENT_KEYDELEGA_API_KEYDELEGA_REVEAL_AGENT_KEYSDELEGA_REVEAL_WEBHOOK_SECRETS | LARK_COOKIELARK_APP_IDLARK_APP_SECRETLARK_USER_ACCESS_TOKENLARK_USER_REFRESH_TOKEN |
| Verified owner | Community listing | Community listing |
| GitHub stars | 1 | 10 |
| Directory activity | 3 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 44 | 85 |
| Full listing | View Delega MCP | View Feishu User Plugin |
list_tasksList tasks from Delega. Visibility depends on your role: workers see tasks they created, were assigned, completed, or claimed; coordinators and admins see all account tasks — including other agents' work, so act only on tasks assigned to you or unowned ones you claim, and coordinate on teammates' tasks via add_comment. Optionally filtered by project, label, due date, or completion status. To resume work at the start of a session, call with completed:false, then use get_task_context on your tasks to recover prior decisions and state instead of starting from zero.get_taskGet full details of a specific task including subtaskslink_taskAttach a branch, commit, pull request, or URL link to a task. Use this when work in a repo, PR, or external artifact should travel with the task.list_task_linksList branch, commit, pull request, and URL links attached to a task.create_taskCreate a new task in Delegalist_recurrencesList recurring task templates. Recurrences spawn normal task instances on schedule; completing an instance does not delete the schedule.create_recurring_taskCreate a recurring task template. The hosted scheduler spawns normal task instances from this template and links them with source_recurrence_id.update_recurrenceUpdate a recurring task template, including pausing/resuming with active=false/true.delete_recurrenceDelete a recurring task template. Existing spawned task instances remain as normal tasks.update_taskUpdate an existing task's fieldsassign_taskAssign a task to an agent (or unassign by passing null)delegate_taskDelegate a task: create a child task linked to a parent. The parent's status flips to 'delegated'. Use this (not assign_task) for multi-agent handoffs so the delegation chain is recorded.manage_bitable_app[Official API] Manage a Bitable app. action=create (new app, optional wiki_space_id to attach), copy (duplicate an existing app), get_meta (read app metadata).manage_bitable_table[Official API] Manage a table inside a Bitable app. action=list, create (with optional initial fields), update (rename), delete.manage_bitable_field[Official API] Manage fields (columns) inside a Bitable table. action=list, create, update (Feishu requires `type` even when only renaming), delete.manage_bitable_view[Official API] Manage views inside a Bitable table. action=list, create, delete. (Feishu open API does not expose view update — recreate with a new name to change.)manage_bitable_record[Official API] Manage records (rows) inside a Bitable table. action=search, get, create, update, delete. create/update/delete accept arrays — single record or up to 500.list_calendars[Official API + UAT] List the current user's calendars (primary + shared + subscribed). Requires UAT — app identity only sees calendars it was explicitly invited to. Requires `calendar:calendar:readonly` scope on the OAuth.list_calendar_events[Official API + UAT] List events in a calendar within an optional time range. Typical usage: first list_calendars to find calendar_id (primary calendar has type="primary"), then list events in e.g. [now, now+7d] (Unix seconds).get_calendar_event[Official API + UAT] Get full details of a single calendar event (summary, description, start/end, attendees, location, attachments, meeting link).create_calendar_event[Official API + UAT, v1.3.7] Create a new calendar event. Requires `calendar:calendar.event:create` scope (re-run `npx feishu-user-plugin oauth` after enabling). The current identity (UAT-first) must have writer or owner permission on the calendar.
Time fields: A time object: {timestamp:"<unix-seconds>", timezone?:"Asia/Shanghai"} OR {date:"YYYY-MM-DD"} for all-day events.update_calendar_eventPaste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"delega-dev-delega-mcp": {
"command": "npx",
"args": [
"-y",
"@delega-dev/mcp"
],
"env": {
"DELEGA_API_URL": "YOUR_DELEGA_API_URL_HERE",
"DELEGA_AGENT_KEY": "YOUR_DELEGA_AGENT_KEY_HERE",
"DELEGA_API_KEY": "YOUR_DELEGA_API_KEY_HERE",
"DELEGA_REVEAL_AGENT_KEYS": "YOUR_DELEGA_REVEAL_AGENT_KEYS_HERE",
"DELEGA_REVEAL_WEBHOOK_SECRETS": "YOUR_DELEGA_REVEAL_WEBHOOK_SECRETS_HERE"
}
}
}
}
{
"mcpServers": {
"ethanqc-feishu-user-plugin": {
"command": "npx",
"args": [
"-y",
"feishu-user-plugin"
],
"env": {
"LARK_COOKIE": "YOUR_LARK_COOKIE_HERE",
"LARK_APP_ID": "YOUR_LARK_APP_ID_HERE",
"LARK_APP_SECRET": "YOUR_LARK_APP_SECRET_HERE",
"LARK_USER_ACCESS_TOKEN": "YOUR_LARK_USER_ACCESS_TOKEN_HERE",
"LARK_USER_REFRESH_TOKEN": "YOUR_LARK_USER_REFRESH_TOKEN_HERE"
}
}
}
}
delete_calendar_event[Official API + UAT, v1.3.7] Delete a calendar event. Requires `calendar:calendar.event:delete` scope.respond_calendar_event[Official API + UAT, v1.3.7] Respond to an event invitation. The current identity must be in the event's attendee list. Requires `calendar:calendar.event:reply` scope.