FreeAgent MCP サーバー
FreeAgentのタイムスリップとタイマーを管理するためのClaude MCP(Model Context Protocol)サーバー。このサーバーにより、ClaudeはFreeAgentアカウントと連携して、時間を追跡し、タイマーを管理し、タイムスリップの操作を処理できます。
特徴
ネストされたデータを含むタイムスリップの一覧表示とフィルタリング
新しいタイムスリップを作成する
既存のタイムスリップを更新する
タイマーの開始と停止
タイムスリップを削除する
OAuthトークンの自動更新
包括的なエラー処理
Dockerサポート
Related MCP server: MCP Claude Code
前提条件
Node.js 18+ (Node.js を直接使用する場合)
Docker と Docker Compose (コンテナ化して使用する場合)
APIアクセス可能なFreeAgentアカウント
FreeAgent 開発者ダッシュボードからの OAuth 認証情報
インストール
オプション1: Node.jsの直接インストール
リポジトリをクローンします。
git clone https://github.com/yourusername/freeagent-mcp.git
cd freeagent-mcp依存関係をインストールします:
npm installOAuth トークンを取得します。
# 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のインストール
リポジトリをクローンします。
git clone https://github.com/yourusername/freeagent-mcp.git
cd freeagent-mcp環境ファイルを作成します。
cp .env.example .env
# Edit .env with your FreeAgent credentialsDocker イメージをビルドします。
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 testDocker開発
# Build the Docker image
docker build -t freeagent-mcp .貢献
リポジトリをフォークする
機能ブランチを作成します(
git checkout -b feature/amazing-feature)変更をコミットします (
git commit -am 'Add some amazing feature')ブランチにプッシュする (
git push origin feature/amazing-feature)プルリクエストを開く
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
謝辞
優れたAPIドキュメントを提供するFreeAgent
MCP SDKのClaudeチーム