内容
# Twproject MCP 服务器原型
Twproject MCP 服务器原型,用于在常规许可、试用或免费的 Twproject 安装上自动化例行操作,包括 Twproject Cloud 和自托管/本地实例。
本项目旨在减少已经合法访问 Twproject 实例的用户的手动工作。它不是 Twproject 的替代品,不包含 Twproject 软件,也不授予任何 Twproject 许可、订阅、API 权益、商标权、支持权或其他权限。
## 状态
该仓库是一个原型。
- API 和工具模式可能会更改。
- 在生产使用之前,必须针对目标实例验证 Twproject API 行为。
- 删除/破坏性操作在 v1 中故意不实现。
- 测试新命令或有效载荷时,请首先使用 dry-run 模式。
## 法律和商标声明
本项目是独立的,与 Twproject 或其所有者无关、未经其背书、赞助或批准。
Twproject、Twproject 名称、徽标、产品、云服务、文档、API 和相关标记或材料归其各自所有者所有。Twproject 和 Twproject 相关知识产权的所有权利均由其所有者保留。
该仓库仅包含为此 MCP 服务器编写的集成代码。它不复制、重新分发、 sublicense、反向工程或修改 Twproject 本身。
您负责确保使用此项目符合:
- 您的 Twproject 许可、订阅、试用或免费版本条款;
- Twproject Cloud 或自托管/本地服务条款;
- API 使用规则和速率限制;
- 您组织的安全和数据保护政策;
- 适用的隐私、就业、出口控制和计算机访问法律。
不要使用此项目绕过 Twproject 身份验证、授权、许可限制、技术限制、用户权限、审计控制或商业条款。
本仓库中的任何内容都不是法律建议。如果您需要法律确定性,请查看适用的 Twproject 协议并咨询合格的律师。
## 许可证选择
此公共 GitHub 原型的推荐许可证:**Apache License 2.0**。
选择 Apache-2.0 的原因:
- 允许个人、内部和商业使用;
- 允许分支和贡献,而无需强制下游项目成为开源;
- 包括来自贡献者的明确专利许可证;
- 包括明确的保修和责任免责声明;
- 被公司和开源贡献者广泛理解。
许可证仅适用于此仓库的自己的代码和文档。它不适用于 Twproject 或任何 Twproject 拥有的软件、服务、文档、商标、徽标、API 或其他资产。
参见 [LICENSE](./LICENSE)。
## 配置
在运行 Twproject 之前,请设置以下环境变量:
```text
TWPROJECT_BASE_URL=https://nexusesoci.twproject.cloud/
TWPROJECT_API_KEY=您的-api-key
TWPROJECT_TIMEOUT_MS=30000
TWPROJECT_DRY_RUN=false
```
在本地开发时,如果没有凭证,请设置 `TWPROJECT_DRY_RUN=true`。Dry-run 模式返回 Twproject 请求形状,而不发送网络流量,并且永远不会包含 API 密钥。
永远不要提交包含机密信息的 `.env` 文件、API 密钥、会话 cookie、导出的 Twproject 数据、客户数据或生产有效载荷样本。
## 安全默认值
- API 密钥仅从环境变量中读取。
- 绝不从 MCP 工具参数中接受 API 密钥。
- 从启动错误和客户端错误中删除 API 密钥。
- Twproject 基本 URL 必须使用 HTTPS。
- 服务器不接受用户控制的出站 URL 或自定义标头。
- 通用 API 调用阻止类似删除的命令。
- MCP stdio 协议输出与诊断分开。
## 工具
服务器公开:
- `twproject_api_call` 用于安全、非破坏性的 Twproject API 调用。
- `twproject_task_get`、`twproject_task_search`、`twproject_task_create`、`twproject_task_update`。
- `assignment`、`issue`、`person`、`company`、`worklog` 和 `cost` 的等效 `get`、`search`、`create` 和 `update` 工具。
v1 中不公开删除工具。
## 命令
```bash
npm install
npm run build
npm test
npm run lint
```
运行服务器:
```bash
node dist/index.js
```