
markpitt/freeagent-mcp
Developer toolsこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
A Claude MCP (Model Context Protocol) server for managing FreeAgent timeslips and timers. This server allows Claude to interact with your FreeAgent account to track time, manage timers, and handle...
概要
A Claude MCP (Model Context Protocol) server for managing FreeAgent timeslips and timers. This server allows Claude to interact with your FreeAgent account to track time, manage timers, and handle timeslip operations. - List and filter timeslips with nested data - Create new timeslips - Update existing timeslips - Start and stop timers - Delete timeslips - Automatic OAuth token refresh - Comprehensive error handling - Docker support - Node.js 18+ (for direct Node.js usage) - Docker & Docker Compose (for containerized usage) - A FreeAgent account with API access - OAuth credentials from the FreeAgent Developer Dashboard Add the server to your MCP settings (typically in %APPDATA%/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json): Once configured, Claude can use the following tools: 1. Fork the repository 2. Create your feature branch (git checkout -b feature/amazing-feature) 3. Commit your changes (git commit -am 'Add some amazing feature') 4.
README
以下は原文 README の抜粋です。原文を見る。
FreeAgent MCP Server
A Claude MCP (Model Context Protocol) server for managing FreeAgent timeslips and timers. This server allows Claude to interact with your FreeAgent account to track time, manage timers, and handle timeslip operations.
Features
- List and filter timeslips with nested data
- Create new timeslips
- Update existing timeslips
- Start and stop timers
- Delete timeslips
- Automatic OAuth token refresh
- Comprehensive error handling
- Docker support
Prerequisites
- Node.js 18+ (for direct Node.js usage)
- Docker & Docker Compose (for containerized usage)
- A FreeAgent account with API access
- OAuth credentials from the FreeAgent Developer Dashboard
Installation
Option 1: Direct Node.js Installation
- Clone the repository:
git clone https://github.com/yourusername/freeagent-mcp.git
cd freeagent-mcp
- Install dependencies:
npm install
- Get your OAuth tokens:
# 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
Option 2: Docker Installation
- Clone the repository:
git clone https://github.com/yourusername/freeagent-mcp.git
cd freeagent-mcp
- Create your environment file:
cp .env.example .env
# Edit .env with your FreeAgent credentials
- Build Docker image:
docker build -t freeagent-mcp .
Configuration
Add the server to your MCP settings (typically in %APPDATA%/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json):
For Node.js Installation:
{
"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": []
}
}
}
For Docker Installation:
{
"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": []
}
}
}
Usage
Once configured, Claude can use the following tools:
List Timeslips
{
インストール
docker run -i --rm -e FREEAGENT_CLIENT_ID -e FREEAGENT_CLIENT_SECRET -e FREEAGENT_ACCESS_TOKEN -e FREEAGENT_REFRESH_TOKEN freeagent-mcp設定
{
"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": []
}
}
}