这是一个基于 TypeScript 的 MCP(模型上下文协议)服务器,专为丰收时间追踪应用程序打造,可让 LLM 客户端与丰收账户进行交互。
更多细节请参考丰收 API 文档中的个人访问令牌创建说明。
此服务器提供了一系列工具,可用于获取公司、客户、项目、用户等信息,还能进行时间记录的搜索、创建等操作。
在 settings.json
文件中添加以下内容:
{
"mcpServers": {
"Harvest": {
"command": "npx",
"args": [
"@harvesttime/tracing-mcp-server",
"--accountId",
"<丰收账户 ID>",
"--token",
"<丰收个人访问令牌>"
],
"env": {}
}
}
}
在 launch.json
文件中添加以下内容:
{
"version": "0.2.0",
"configurations": [
{
"name": "启动丰收时间追踪 MCP 服务器",
"type": "node",
"request": "launch",
"program": "$npmBin/file:@harvesttime/tracing-mcp-server",
"args": [
"--accountId",
"<丰收账户 ID>",
"--token",
"<丰收个人访问令牌>"
]
}
]
}
npm install --global @harvesttime/tracing-mcp-server
直接运行以下命令:
@harvesttime/tracing-mcp-server --accountId <丰收账户 ID> --token <丰收个人访问令牌>
工具 | 描述 | 输入 | 输出 |
---|---|---|---|
get-company |
获取公司信息 | 无 | 公司信息(名称、URL、ID 和货币) |
search-clients |
搜索客户 | • name: string (可选) - 客户名称 • isActive: boolean (可选) - 激活状态 |
客户列表,包括 ID 和详细信息 |
get-client |
获取客户信息 | • clientId: string - 客户 ID | 详细的客户信息 |
search-projects |
搜索项目 | • name: string (可选) - 项目名称 • clientId: string (可选) - 客户 ID • isActive: boolean (可选) - 激活状态 |
项目列表,包括 ID 和详细信息 |
get-project |
获取项目信息 | • projectId: string - 项目 ID | 详细的项目信息 |
list-users |
列出所有用户 | 无 | 用户列表,包括 ID 和详细信息 |
get-user |
获取用户信息 | • userId: string - 用户 ID | 详细的用户信息 |
list-project-users |
列出项目用户分配 | • projectId: string - 项目 ID | 分配给项目的用户列表 |
list-project-tasks |
列出项目任务分配 | • projectId: string - 项目 ID | 分配给项目的任务列表 |
search-time-entries |
搜索时间记录 | • from: string (可选) - 起始日期(YYYY-MM-DD) • to: string (可选) - 结束日期 • userId: string (可选) - 用户 ID |
时间记录列表,包括 ID 和详细信息 |
get-time-entry |
获取单个时间记录 | • timeEntryId: string - 时间记录 ID | 详细的单个时间记录 |
create-time-entry |
创建时间记录 | • projectId: string 必须 • userId: string 必须 • hours: number 必须 • notes: string 可选 |
新的时间记录 |
npm install
npm run dev
npm test
git checkout -b feature/<功能名称>
git add .
git commit -m "提交信息"
git push origin feature/<功能名称>
package.json
中的依赖版本。npm install
npm run build
欢迎贡献!请遵循以下步骤:
确保代码符合 代码规范 并通过所有测试。