FreeAgent MCP Server

MIT License
1
  • Linux
  • Apple

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Provides integration with FreeAgent accounting software, enabling time tracking through timeslips and timers, including listing, filtering, creating, updating, and deleting timeslips, as well as starting and stopping timers.

FreeAgent MCP 服务器

一个用于管理 FreeAgent 时间单和计时器的 Claude MCP(模型上下文协议)服务器。此服务器允许 Claude 与您的 FreeAgent 帐户交互,以跟踪时间、管理计时器并处理时间单操作。

特征

  • 列出并过滤带有嵌套数据的时间表
  • 创建新的时间表
  • 更新现有时间表
  • 启动和停止计时器
  • 删除时间表
  • 自动 OAuth 令牌刷新
  • 全面的错误处理
  • Docker 支持

先决条件

  • Node.js 18+(可直接使用 Node.js)
  • Docker 和 Docker Compose(用于容器化使用)
  • 具有 API 访问权限的 FreeAgent 帐户
  • 来自FreeAgent 开发者仪表板的 OAuth 凭证

安装

选项 1:直接安装 Node.js

  1. 克隆存储库:
git clone https://github.com/yourusername/freeagent-mcp.git cd freeagent-mcp
  1. 安装依赖项:
npm install
  1. 获取您的 OAuth 令牌:
# Set your FreeAgent credentials export FREEAGENT_CLIENT_ID="your_client_id" export FREEAGENT_CLIENT_SECRET="your_client_secret" # Run the OAuth setup script node scripts/get-oauth-tokens.js

选项 2:Docker 安装

  1. 克隆存储库:
git clone https://github.com/yourusername/freeagent-mcp.git cd freeagent-mcp
  1. 创建您的环境文件:
cp .env.example .env # Edit .env with your FreeAgent credentials
  1. 构建 Docker 镜像:
docker build -t freeagent-mcp .

配置

将服务器添加到您的 MCP 设置(通常在%APPDATA%/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json中):

对于 Node.js 安装:

{ "mcpServers": { "freeagent": { "command": "node", "args": ["path/to/freeagent-mcp/build/index.js"], "env": { "FREEAGENT_CLIENT_ID": "your_client_id", "FREEAGENT_CLIENT_SECRET": "your_client_secret", "FREEAGENT_ACCESS_TOKEN": "your_access_token", "FREEAGENT_REFRESH_TOKEN": "your_refresh_token" }, "disabled": false, "autoApprove": [] } } }

对于 Docker 安装:

{ "mcpServers": { "freeagent": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "FREEAGENT_CLIENT_ID", "-e", "FREEAGENT_CLIENT_SECRET", "-e", "FREEAGENT_ACCESS_TOKEN", "-e", "FREEAGENT_REFRESH_TOKEN", "freeagent-mcp" ], "env": { "FREEAGENT_CLIENT_ID": "your_client_id", "FREEAGENT_CLIENT_SECRET": "your_client_secret", "FREEAGENT_ACCESS_TOKEN": "your_access_token", "FREEAGENT_REFRESH_TOKEN": "your_refresh_token" }, "disabled": false, "autoApprove": [] } } }

用法

配置完成后,Claude 可以使用以下工具:

列出时间表

{ "from_date": "2024-01-01", // Start date (YYYY-MM-DD) "to_date": "2024-03-04", // End date (YYYY-MM-DD) "updated_since": "2024-03-04T12:00:00Z", // ISO datetime "view": "all", // "all", "unbilled", or "running" "user": "https://api.freeagent.com/v2/users/123", "task": "https://api.freeagent.com/v2/tasks/456", "project": "https://api.freeagent.com/v2/projects/789", "nested": true // Include nested resources }

创建时间表

{ "task": "https://api.freeagent.com/v2/tasks/123", "user": "https://api.freeagent.com/v2/users/456", "project": "https://api.freeagent.com/v2/projects/789", "dated_on": "2024-03-04", "hours": "1.5", "comment": "Optional comment" }

定时器控件

// Start timer { "id": "123" } // Stop timer { "id": "123" }

发展

Node.js 开发

# Build the project npm run build # Watch for changes npm run watch # Run tests (when implemented) npm test

Docker 开发

# Build the Docker image docker build -t freeagent-mcp .

贡献

  1. 分叉存储库
  2. 创建你的功能分支( git checkout -b feature/amazing-feature
  3. 提交您的更改( git commit -am 'Add some amazing feature'
  4. 推送到分支( git push origin feature/amazing-feature
  5. 打开拉取请求

执照

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。

致谢

  • FreeAgent 提供出色的 API 文档
  • MCP SDK 的 Claude 团队
ID: 2qsl0xvx2t