mcp_server_my_lark_doc
MCP server from T0UGH/mcp_server_my_lark_doc
claude mcp add --transport stdio t0ugh-mcp_server_my_lark_doc uvx mcp-server-my-lark-doc \ --env OAUTH_HOST="localhost" \ --env OAUTH_PORT="9997" \ --env LARK_APP_ID="<your app id>" \ --env LARK_APP_SECRET="<your app secret>"
How to use
This MCP server provides access to Lark (Feishu) documents, including both Doc and Wiki types. It uses OAuth for user authentication and can automatically refresh tokens, with a configurable callback server for the OAuth flow. The server exposes tools to retrieve document content as plain text suitable for LLM processing, and to search Lark Wiki documents by keywords. To use it with Claude, configure the mcpServers entry in Claude to point to this UVX-based server and supply your Lark app credentials. The available tools are get_lark_doc_content (fetches document content from a given Lark URL) and search_wiki (queries the Lark Wiki for matching documents and returns structured results).
How to install
Prerequisites:
- Node.js not required for uvx approach used here; this server runs via uvx (Python) and requires a Python environment with uvx installed.
- Access to the internet to install dependencies and reach Lark Open Platform endpoints.
- Install the MCP server via uvx (Python/uv):
# Ensure uv is installed and available in PATH
# Then install/run the MCP server using the provided binary/package name
uvx mcp-server-my-lark-doc
- Set up Lark credentials (environment variables):
- Obtain Lark App ID and App Secret from Lark Open Platform.
- Export credentials in your shell or your deployment environment:
export LARK_APP_ID="your_app_id"
export LARK_APP_SECRET="your_app_secret"
export OAUTH_HOST="localhost" # optional, default localhost
export OAUTH_PORT="9997" # optional, default 9997
- Run the server locally (as needed by your setup):
uvx mcp-server-my-lark-doc
- Configure Claude or your MCP consumer to connect using the provided mcp_config example (see below).
Additional notes
Tips and considerations:
- Ensure your Lark app has the required permissions (wiki:readonly, wiki:read, docx:readonly, search:read) as listed in the README to access documents and search functionality.
- The OAuth callback server defaults to host localhost and port 9997; adjust via OAUTH_HOST and OAUTH_PORT if you deploy remotely.
- If you encounter errors like invalid Lark document URL formats or authentication failures, double-check LARK_APP_ID/SECRET and that the OAuth callback URL is reachable by your Lark app configuration.
- The get_lark_doc_content tool returns raw document content in text format suitable for downstream processing by LLMs. The search_wiki tool returns JSON with fields such as title, url, create_time, and update_time.
- For production, consider securing environment variables and setting appropriate token refresh/expiration handling as provided by the underlying uvx-based implementation.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP