feishu-user-plugin 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +2 -2
- package/CHANGELOG.md +22 -0
- package/README.md +6 -5
- package/package.json +2 -2
- package/skills/feishu-user-plugin/SKILL.md +1 -1
- package/src/index.js +2 -2
- package/src/test-comprehensive.js +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "feishu-user-plugin",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "All-in-one Feishu plugin for Claude Code — send messages as yourself, read chats, manage docs/tables/wiki. 33 tools +
|
|
3
|
+
"version": "1.0.2",
|
|
4
|
+
"description": "All-in-one Feishu plugin for Claude Code — send messages as yourself, read chats, manage docs/tables/wiki. 33 tools + 9 skills, 3 auth layers.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "EthanQC"
|
|
7
7
|
},
|
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,28 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/), and this project adheres to [Semantic Versioning](https://semver.org/).
|
|
6
6
|
|
|
7
|
+
## [1.0.2] - 2026-03-10
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
- `list_user_chats` description incorrectly claimed "including P2P" — actually only returns groups
|
|
11
|
+
- OAuth scope `contact:user.id:readonly` → `contact:user.base:readonly` in README
|
|
12
|
+
- Cookie length validation range (500-5000, was 1000-5000)
|
|
13
|
+
- Version inconsistency across `server.json`, `plugin.json`, `SKILL.md`, `src/index.js`
|
|
14
|
+
- Skill count: 8 → 9 (was missing `/drive`)
|
|
15
|
+
- README_CN.md Claude Desktop config missing `env` block
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
- Startup auth diagnostics in `src/index.js` (Cookie/App/UAT status logging)
|
|
19
|
+
- `LARK_USER_REFRESH_TOKEN` to all MCP config examples
|
|
20
|
+
- Troubleshooting for `invalid_grant` errors (28003/20003/20005)
|
|
21
|
+
- Troubleshooting for `oauth.js` requiring APP_ID/SECRET in `.env`
|
|
22
|
+
- Playwright cookie setup: two-step extraction, `clearCookies()`, ASCII validation
|
|
23
|
+
- `LARK_USER_REFRESH_TOKEN` to `server.json` environment_variables
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
- All 5 env vars marked as required for full functionality
|
|
27
|
+
- Improved `read_p2p_messages` chat_id description (numeric + oc_xxx both accepted)
|
|
28
|
+
|
|
7
29
|
## [1.0.0] - 2026-03-09
|
|
8
30
|
|
|
9
31
|
### Changed
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
[](#tools-33-total)
|
|
7
7
|
[](CONTRIBUTING.md)
|
|
8
8
|
|
|
9
|
-
**All-in-one Feishu/Lark MCP Server -- 33 tools,
|
|
9
|
+
**All-in-one Feishu/Lark MCP Server -- 33 tools, 9 skills, 3 auth layers for messaging, docs, tables, wiki, and drive.**
|
|
10
10
|
|
|
11
11
|
The only MCP server that lets you send messages as your **personal identity** (not a bot), while also integrating the full official Feishu API for documents, spreadsheets, wikis, and more.
|
|
12
12
|
|
|
@@ -82,7 +82,7 @@ Go to **Permissions & Scopes** (权限管理) and add the following scopes:
|
|
|
82
82
|
| `bitable:record` | Read and write Bitable records |
|
|
83
83
|
| `wiki:wiki:readonly` | Read wiki spaces and nodes |
|
|
84
84
|
| `drive:drive:readonly` | List Drive files and folders |
|
|
85
|
-
| `contact:user.
|
|
85
|
+
| `contact:user.base:readonly` | Look up users by email/mobile |
|
|
86
86
|
|
|
87
87
|
> Add more scopes as needed depending on which tools you use.
|
|
88
88
|
|
|
@@ -338,7 +338,7 @@ Send messages as yourself, not as a bot.
|
|
|
338
338
|
| Tool | Description |
|
|
339
339
|
|------|-------------|
|
|
340
340
|
| `read_p2p_messages` | Read P2P (direct message) history. Works for chats the bot cannot access. |
|
|
341
|
-
| `list_user_chats` | List
|
|
341
|
+
| `list_user_chats` | List group chats the user is in. Note: only returns groups, not P2P. |
|
|
342
342
|
|
|
343
343
|
### Official API -- IM (Bot Identity)
|
|
344
344
|
|
|
@@ -388,9 +388,9 @@ Send messages as yourself, not as a bot.
|
|
|
388
388
|
|------|-------------|
|
|
389
389
|
| `find_user` | Find user by email or mobile number |
|
|
390
390
|
|
|
391
|
-
## Claude Code Slash Commands (
|
|
391
|
+
## Claude Code Slash Commands (9 skills)
|
|
392
392
|
|
|
393
|
-
This plugin includes
|
|
393
|
+
This plugin includes 9 built-in skills in `skills/feishu-user-plugin/`:
|
|
394
394
|
|
|
395
395
|
| Skill | Usage | Description |
|
|
396
396
|
|-------|-------|-------------|
|
|
@@ -401,6 +401,7 @@ This plugin includes 8 built-in skills in `skills/feishu-user-plugin/`:
|
|
|
401
401
|
| `/doc` | `/doc search MCP` | Search, read, or create documents |
|
|
402
402
|
| `/table` | `/table query appXxx` | Query or create Bitable records |
|
|
403
403
|
| `/wiki` | `/wiki search protocol` | Search and browse wiki |
|
|
404
|
+
| `/drive` | `/drive list folderToken` | List files or create folders in Drive |
|
|
404
405
|
| `/status` | `/status` | Check login and auth status |
|
|
405
406
|
|
|
406
407
|
Skills are automatically available when the plugin is installed.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "feishu-user-plugin",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "All-in-one Feishu plugin for Claude Code — send messages as yourself, read chats, manage docs/tables/wiki. 33 tools +
|
|
3
|
+
"version": "1.0.2",
|
|
4
|
+
"description": "All-in-one Feishu plugin for Claude Code — send messages as yourself, read chats, manage docs/tables/wiki. 33 tools + 9 skills, 3 auth layers.",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"feishu-user-plugin": "src/index.js"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: feishu-user-plugin
|
|
3
|
-
version: "1.0.
|
|
3
|
+
version: "1.0.2"
|
|
4
4
|
description: "All-in-one Feishu plugin — send messages as yourself, read group/P2P chats, manage docs/tables/wiki. Replaces and extends the official Feishu MCP."
|
|
5
5
|
allowed-tools: send_to_user, send_to_group, send_as_user, send_image_as_user, send_file_as_user, send_post_as_user, send_sticker_as_user, send_audio_as_user, search_contacts, create_p2p_chat, get_chat_info, get_user_info, get_login_status, read_p2p_messages, list_user_chats, list_chats, read_messages, reply_message, forward_message, search_docs, read_doc, create_doc, list_bitable_tables, list_bitable_fields, search_bitable_records, create_bitable_record, update_bitable_record, list_wiki_spaces, search_wiki, list_wiki_nodes, list_files, create_folder, find_user
|
|
6
6
|
user_invocable: true
|
package/src/index.js
CHANGED
|
@@ -490,7 +490,7 @@ const TOOLS = [
|
|
|
490
490
|
// --- Server ---
|
|
491
491
|
|
|
492
492
|
const server = new Server(
|
|
493
|
-
{ name: 'feishu-user-plugin', version: '1.0.
|
|
493
|
+
{ name: 'feishu-user-plugin', version: '1.0.2' },
|
|
494
494
|
{ capabilities: { tools: {} } }
|
|
495
495
|
);
|
|
496
496
|
|
|
@@ -696,7 +696,7 @@ async function main() {
|
|
|
696
696
|
const hasCookie = !!process.env.LARK_COOKIE;
|
|
697
697
|
const hasApp = !!(process.env.LARK_APP_ID && process.env.LARK_APP_SECRET);
|
|
698
698
|
const hasUAT = !!process.env.LARK_USER_ACCESS_TOKEN;
|
|
699
|
-
console.error(`[feishu-user-plugin] MCP Server v1.0.
|
|
699
|
+
console.error(`[feishu-user-plugin] MCP Server v1.0.2 — ${TOOLS.length} tools`);
|
|
700
700
|
console.error(`[feishu-user-plugin] Auth: Cookie=${hasCookie ? 'YES' : 'NO'} App=${hasApp ? 'YES' : 'NO'} UAT=${hasUAT ? 'YES' : 'NO'}`);
|
|
701
701
|
if (!hasCookie) console.error('[feishu-user-plugin] WARNING: LARK_COOKIE not set — user identity tools (send_to_user, etc.) will fail');
|
|
702
702
|
if (!hasApp) console.error('[feishu-user-plugin] WARNING: LARK_APP_ID/SECRET not set — official API tools (read_messages, docs, etc.) will fail');
|
|
@@ -274,7 +274,7 @@ async function testUAT() {
|
|
|
274
274
|
}
|
|
275
275
|
|
|
276
276
|
async function main() {
|
|
277
|
-
console.log('=== feishu-user-plugin v1.0.
|
|
277
|
+
console.log('=== feishu-user-plugin v1.0.2 — Comprehensive Test ===\n');
|
|
278
278
|
|
|
279
279
|
await testUserIdentity();
|
|
280
280
|
console.log('');
|