MCP Server My Lark Doc
A Model Context Protocol server for searching and accessing Lark(Feishu) documents.
Features
Document Content Access
- Supports both Lark Doc and Wiki document types
- Automatically handles document type detection and ID extraction
- Returns raw content in text format for LLM processing
Authentication
- OAuth-based user authentication
- Automatic token refresh and expiration management
- Customizable OAuth callback server
Error Handling
- Comprehensive error reporting for authentication issues
- Clear feedback for invalid document URLs
- Detailed error messages for troubleshooting
Installation
uvx mcp-server-my-lark-doc
Configuration
Get your Lark App ID and App Secret
Visit the Lark Open Platform: https://open.larkoffice.com/app
Make Sure your Lark App has Permissions below
wiki:wiki:readonly
wiki:node:read
docx:document:readonly
search:docs:read
Environment Variables
Before using this MCP server, you need to set up your Lark application credentials:
- Create a Lark application in Lark Open Platform
- Get your App ID and App Secret
- Configure environment variables:
export LARK_APP_ID="your_app_id"
export LARK_APP_SECRET="your_app_secret"
export OAUTH_HOST="localhost"
export OAUTH_PORT="9997"
Usage
Configure in Claude desktop:
"mcpServers": {
"lark_doc": {
"command": "uvx",
"args": ["mcp-server-my-lark-doc"],
"env": {
"LARK_APP_ID": "your app id",
"LARK_APP_SECRET": "your app secret",
"OAUTH_HOST": "localhost",
"OAUTH_PORT": "9997"
}
}
}
Available Tools
-
get_lark_doc_content
- Purpose: Retrieve document content from Lark
- Args: documentUrl (string) - The URL of the Lark document
- Returns: Document content in text format
- Supports:
-
search_wiki
- Purpose: Search documents in Lark Wiki
- Args:
- query (string) - Search keywords
- page_size (int, optional) - Number of results to return (default: 10)
- Returns: JSON string containing search results with following fields:
- title: Document title
- url: Document URL
- create_time: Document creation time
- update_time: Document last update time
Error Messages
Common error messages and their solutions:
- "Lark client not properly initialized": Check your LARK_APP_ID and LARK_APP_SECRET
- "Invalid Lark document URL format": Verify the document URL format
- "Failed to get document content": Check document permissions and token validity
- "Failed to get app access token": Check your application credentials and network connection
- "Failed to get wiki document real ID": Check if the wiki document exists and you have proper permissions
- "Document content is empty": The document might be empty or you might not have access to its content
- "Authorization timeout": ser didn't complete authorization within 5 minutes
Development Notes
OAuth Callback Server
Default configuration:
-
Host: localhost
-
Port: 9997
Customize via environment variables:
-
OAUTH_HOST: Set callback server host
-
OAUTH_PORT: Set callback server port
License
MIT License