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" # OAuth callback server host (default: localhost)
export OAUTH_PORT="9997" # OAuth callback server port (default: 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", // optional
"OAUTH_PORT": "9997" // optional
}
}
}
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:
- Doc URLs: https://xxx.feishu.cn/docx/xxxxx
- Wiki URLs: https://xxx.feishu.cn/wiki/xxxxx
-
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
Release files for mcp-server-my-lark-doc 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mcp_server_my_lark_doc-0.1.6.tar.gz | 66.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_server_my_lark_doc-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 74.4 kB
Release files / mcp_server_my_lark_doc-0.1.6.tar.gz
| Download URL | mcp_server_my_lark_doc-0.1.6.tar.gz |
|---|---|
| Size | 66.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b13d9ac14d638bdb79a0169d5428f3a71fdb204092ac7006eb0508be9567a04f
|
|
BLAKE2b-256 checksum How to use checksums |
ac334d2fe5d08e238edff57d19c2f45bdaee4e936b5b491cdcd7486aeed60107
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.16
|
Release files / mcp_server_my_lark_doc-0.1.6-py3-none-any.whl
| Download URL | mcp_server_my_lark_doc-0.1.6-py3-none-any.whl |
|---|---|
| Size | 7.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
04eeaffcd5a1b3f5e34478cf7563653c2d19fdd4a901e815ab53a17237ef76c7
|
|
BLAKE2b-256 checksum How to use checksums |
2829b1a008c78f52eb54f27b83393538f221d3753213dfc888f2469c2fea5cfd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.16
|