A CLI tool for interacting with Lark/Feishu APIs, designed for use with Claude Code and other AI assistants.
The official Lark MCP server exists, but its tools are not token-efficient. Each tool call returns verbose responses that consume significant context window space when used with AI assistants.
This CLI addresses that by:
- Returning compact JSON - Structured output optimized for programmatic consumption
- Providing markdown conversion - Documents are converted to markdown (~2-3x smaller than raw block structures)
- Supporting selective queries - Fetch only what you need (e.g., just event IDs, just document titles)
The result: AI assistants can interact with Lark using fewer tokens, leaving more context for actual work.
- Calendar - List, create, update, delete events; check availability; find common free time; RSVP
- Contacts - Look up users by ID, search by name, list department members
- Documents - Read documents as markdown, list folders, resolve wiki nodes, get comments
- Messages - Retrieve chat history, download attachments, send messages, add/list/remove reactions
- Mail - Read and search emails via IMAP with local caching
- Minutes - Get meeting recording metadata, export transcripts, download media
- Create a Lark app at https://open.larksuite.com (or Feishu app at https://open.feishu.cn) with appropriate permissions
- Copy
config.example.yamlto.lark/config.yamland add your App ID - Set
regionin.lark/config.yamltolark(default) orfeishu - Set
LARK_APP_SECRETenvironment variable - Run
./lark auth loginto authenticate - Start using:
./lark cal list --week
See USAGE.md for full documentation.
make build # Build binary to ./lark
make test # Run tests
make install # Install to $GOPATH/binThis tool is designed to be invoked via Claude Code skills. Pre-built skill definitions are included in the skills/ directory.
Copy the skill directories to your Claude Code skills location:
# Project-specific (recommended)
cp -r skills/* /path/to/your/project/.claude/skills/
# Or user-wide
cp -r skills/* ~/.claude/skills/Available skills:
calendar- Manage calendar events, check availability, RSVPcontacts- Look up users and departmentsdocuments- Read documents, list folders, browse wikismessages- Retrieve chat history, download attachments, send messages to users and chatsemail- Read and search emails via IMAP with local cachingminutes- Get meeting recordings, export transcripts, download media
The skills assume lark is in your PATH. If not, you can either:
- Add the binary location to your PATH
- Edit the skill files to use the full path
- Set
LARK_CONFIG_DIRenvironment variable to point to your.lark/config directory
The JSON output format makes it straightforward for AI assistants to parse responses and take action.
MIT - see LICENSE