mcp-lark — Claude Code skill: FeiShu and Lark via MCP
Connects your agent to the FeiShu (Lark) MCP server so it can handle chats, mail, cloud docs, tables, tasks and calendars.
npx skills add aahl/skills --skill mcp-lark -a claude-codeWhat mcp-lark does
The skill sits on top of FeiShu (Lark) OpenAPI MCP server. First you log in to the Lark MCP Configuration Platform, add MCP services there and grab the resulting URL — skip that and nothing runs. The URLs go into LARK_MCP_SERVERS, each followed by a colon and the scenario it covers: chats and mails, cloud documents, and so on. Separate multiple servers with semicolons.
Values are read from .env in the workspace first, then from system environment variables. If neither has them, the agent asks you and writes the answer into .env. To see what tools a server exposes, run npx -y mcporter list 'open.larksuite.com/mcp/stream/<token>' --all-parameters; add --json and a jq filter to inspect one tool's schema. Calling a tool goes through npx -y mcporter call 'open.larksuite.com/mcp/stream/<token>.<tool_name>' with arguments like param1:"value1".
A references/message_create.md file inside the skill covers how message content is sent. The author recommends npx -y mcporter over a bare mcporter for compatibility. One thing to watch: the token in an MCP URL is effectively a key to your workspace, so keep .env out of git.
What it helps with
- send a message to a FeiShu chat from the agent
- pull rows out of a Lark multidimensional table
- create a task or a calendar event
- locate and read a cloud document
- map several MCP servers to scenarios in one variable
Example prompts for the agent
- List the tools on the Lark MCP server for chats and mails
- Send a FeiShu chat message with today's release summary
- Fetch rows from the multidimensional table and build a report
How to install mcp-lark
1Skills CLI (Vercel)
npx skills add aahl/skills --skill mcp-lark -a claude-code2Manually: put the files in place
~/.claude/skills/mcp-lark/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/mcp-lark/
1Skills CLI (Vercel)
npx skills add aahl/skills --skill mcp-lark -a codex2Manually: put the files in place
.agents/skills/mcp-lark/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add aahl/skills --skill mcp-lark -a cursor2Manually: put the files in place
.cursor/skills/mcp-lark/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install aahl/skills mcp-lark2Manually: put the files in place
.github/skills/mcp-lark/SKILL.md1Skills CLI (Vercel)
npx skills add aahl/skills --skill mcp-lark -a gemini-cli2Platform CLI
gemini skills install https://github.com/aahl/skills --path skills/mcp-larkManually: put the files in place
.devin/skills/mcp-lark/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add aahl/skills --skill mcp-lark -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about mcp-lark
How do I install mcp-lark in Claude?
Run npx skills add aahl/skills --skill mcp-lark -a claude-code. The skill then lives at ~/.claude/skills/mcp-lark/SKILL.md.
What does mcp-lark do?
It wires your agent to the FeiShu (Lark) MCP server: users, chats, mail, cloud documents, multidimensional tables, tasks and calendars. Calls go through mcporter.
What has to be set up before the first run?
Add MCP services on the Lark MCP Configuration Platform, get the URL, then put it in LARK_MCP_SERVERS inside the workspace .env.
Source text
SKILL.md · MIT
--- name: mcp-lark description: Based on FeiShu(飞书) / Lark's OpenAPI MCP server, manage user information, chats, emails, cloud documents, multidimensional tables, tasks, calendars, etc. --- # MCP Lark / FeiShu Need to login to the Lark MCP Configuration Platform to add MCP services, obtain the MCP URL, and configure it into environment variables. - Lark MCP docs: https://open.larksuite.com/document/mcp_open_tools/call-feishu-mcp-server-in-remote-mode - 飞书 MCP 文档: https://open.feishu.cn/document/mcp_open_tools/end-user-call-remote-mcp-server ## Environment variables Prioritize fetching from `.env` under the workspace, then use system environment variables. If not configured, ask the user for input and update it to `.env`. ```shell # Configure multiple MCP service URLs and usage scenarios in environment variables LARK_MCP_SERVERS=' open.larksuite.com/mcp/stream/xxx:Chats and Mails; open.larksuite.com/mcp/stream/yyy:Cloud documents; ' ``` ## List of available tools ```shell npx -y mcporter list 'open.larksuite.com/mcp/stream/<token>' --all-parameters # Get the schema of the specified tool npx -y mcporter list 'open.larksuite.com/mcp/stream/<token>' --json | jq '.tools[] | select(.name == "<tool_name>")' ``` ## Call specified tool ```shell npx -y mcporter call 'open.larksuite.com/mcp/stream/<token>.<tool_name>' param1:"value1" foo:"bar" ``` ## References - Sent message content: references/message_create.md ## About `mcporter` To improve compatibility, use `npx -y mcporter` instead of `mcporter` when executing commands.
© aahl · MIT · aahl/skills