Weaver Ecology E9 MCP Server

Weaver Ecology E9 MCP Server

MCP server for Weaver OA Ecology E9, enabling workflow management, organizational queries, and file uploads. Automatically handles authentication and RSA encryption for secure API calls.

Category
Visit Server

README

🦞 泛微OA Ecology E9 MCP Server

基于 Model Context Protocol (MCP) 的泛微OA接口集成服务。

通过 MCP 协议,让 AI 客户端(如 Claude Desktop、Cursor、VS Code 等)直接调用泛微 OA 的接口。

Open One / OpenWork 导入

这个仓库已经按 Open One 的 GitHub 插件规则补齐了插件文件,可以直接从扩展页导入:

  • .claude-plugin/plugin.json:Open One 插件清单
  • .mcp.json:MCP 服务启动配置
  • skills/weaver-ecology/SKILL.md:给 Agent 的使用说明
  • dist/index.mjs:已打包的 stdio MCP 服务入口

在 Open One 中打开 扩展 -> From GitHub,粘贴:

https://github.com/wenzhengclaude/weaver-ecology-mcp-openone

导入后配置环境变量,然后重启本地 Open One server/engine 或刷新 MCP 连接:

变量 必填 说明
WEAVER_BASE_URL OA 服务器地址,如 http://192.168.1.100
WEAVER_APP_ID 许可证 APPID
WEAVER_RSA_PRIVATE_KEY RSA 私钥 PEM,不提供则自动生成
WEAVER_RSA_PUBLIC_KEY RSA 公钥 PEM,不提供则自动生成

.mcp.json 当前使用 Open One 安装后的插件目录:

{
  "mcpServers": {
    "weaver-ecology": {
      "command": "node",
      "args": [
        ".opencode/plugins/weaver-ecology-plugin/dist/index.mjs"
      ]
    }
  }
}

如果修改 .claude-plugin/plugin.json 里的 displayName / name,Open One 生成的插件目录名也可能变化,需要同步更新 .mcp.json 里的路径。

快速开始

1. 安装

# 下载项目
git clone https://github.com/tanzhangjia/weaver-ecology-mcp.git
cd weaver-ecology-mcp

# 安装依赖
pnpm install

# 构建
pnpm run build

2. OA 侧准备

在泛微 OA 系统中执行以下操作:

a. 配置接口白名单 编辑 ecology/WEB-INF/prop/weaver_session_filter.properties,在 unchecksessionurl= 后添加:

/api/ec/dev/auth/regist;/api/ec/dev/auth/applytoken;

b. 插入许可证

INSERT INTO ECOLOGY_BIZ_EC(ID, APPID, NAME)
VALUES('123456', '你的APPID', 'MCP服务');

3. MCP 客户端配置

Claude Desktop

编辑 claude_desktop_config.json

{
  "mcpServers": {
    "weaver-ecology": {
      "command": "node",
      "args": ["/path/to/weaver-ecology-mcp/dist/index.js"],
      "env": {
        "WEAVER_BASE_URL": "http://192.168.1.100",
        "WEAVER_APP_ID": "EEAA5436-7577-4BE0-8C6C-89E9D88805EA",
        "WEAVER_RSA_PRIVATE_KEY": "-----BEGIN RSA PRIVATE KEY-----...-----END RSA PRIVATE KEY-----",
        "WEAVER_RSA_PUBLIC_KEY": "-----BEGIN PUBLIC KEY-----...-----END PUBLIC KEY-----"
      }
    }
  }
}

Cursor

在 Cursor 的 MCP 配置中,Command 填写:

node /path/to/weaver-ecology-mcp/dist/index.js

认证流程

MCP 服务自动处理泛微 OA 的 Token 认证:

┌──────────┐    ┌──────────────┐    ┌──────────┐
│ 注册请求  │───▶│ POST /regist │───▶│ 返回     │
│ (APPID +  │    │              │    │ secrit   │
│  公钥)    │    │              │    │ + spk    │
└──────────┘    └──────────────┘    └──────────┘
                      │
┌──────────┐    ┌──────────────┐    ┌──────────┐
│ 获取Token│───▶│POST /apply-  │───▶│  返回    │
│ (spk加密 │    │    token     │    │  token   │
│  secrit) │    │              │    │          │
└──────────┘    └──────────────┘    └──────────┘
                      │
┌──────────┐    ┌──────────────┐    ┌──────────┐
│ 调用接口  │───▶│ 业务API      │───▶│  返回    │
│ (token +  │    │              │    │  数据    │
│  userid)  │    │              │    │          │
└──────────┘    └──────────────┘    └──────────┘
  • Token 默认 30 分钟有效,系统在过期前 5 分钟自动刷新
  • RSA 密钥对自动生成(也可手动指定)
  • userid 使用系统公钥 RSA 加密传输

可用工具

认证管理

工具 说明
weaver_auth_register 向OA注册许可证(系统自动管理,通常无需手动调用)
weaver_auth_get_token 获取/刷新访问Token(系统自动管理)

工作流

工具 说明
weaver_workflow_list 查询流程模板列表
weaver_workflow_create 发起流程请求(创建审批单)
weaver_workflow_query 查询流程状态与审批进度
weaver_workflow_approve 审批/驳回流程

组织架构

工具 说明
weaver_hrm_user_query 查询人员信息(ID/登录名/姓名)
weaver_hrm_dept_query 查询部门信息

附件 & 通用

工具 说明
weaver_doc_upload 上传附件文件到OA
weaver_api_request 🔧 通用接口调用(内置工具未覆盖时使用)

环境变量

变量 必填 说明
WEAVER_BASE_URL OA 服务器地址,如 http://192.168.1.100
WEAVER_APP_ID 许可证号码
WEAVER_RSA_PRIVATE_KEY RSA 私钥 PEM(不提供则自动生成)
WEAVER_RSA_PUBLIC_KEY RSA 公钥 PEM(不提供则自动生成)

常见问题

注册失败:「没有在找到正确的APPID」

→ 确认 ECOLOGY_BIZ_EC 表中已插入对应的 APPID

Token 失效/超时

→ 系统会自动刷新,如持续失败请检查 OA 服务器时间是否同步

接口返回「认证信息错误」

→ 确认 RSA 公钥/私钥一致,检查 OA 服务器版本

许可证

MIT License

MIT License

Copyright (c) 2026 tanzhangjia

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured