Skip to main content
Glama

FreeAgent MCP サーバー

FreeAgentのタイムスリップとタイマーを管理するためのClaude MCP(Model Context Protocol)サーバー。このサーバーにより、ClaudeはFreeAgentアカウントと連携して、時間を追跡し、タイマーを管理し、タイムスリップの操作を処理できます。

ライセンス: MIT

特徴

  • ネストされたデータを含むタイムスリップの一覧表示とフィルタリング

  • 新しいタイムスリップを作成する

  • 既存のタイムスリップを更新する

  • タイマーの開始と停止

  • タイムスリップを削除する

  • OAuthトークンの自動更新

  • 包括的なエラー処理

  • Dockerサポート

Related MCP server: freshbooks-mcp-server

前提条件

  • 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ファイルを参照してください。

謝辞

  • 優れたAPIドキュメントを提供するFreeAgent

  • MCP SDKのClaudeチーム

Available Tools

7 tools
create_timeslipC

Create a new timeslip

Inputs: task (required), user (required), project (required), dated_on (required), +2 more.

delete_timeslipC

Delete a timeslip

Inputs: id (required).

get_timeslipC

Get a single timeslip by ID

Inputs: id (required).

list_timeslipsC

List timeslips with optional filtering

Inputs: from_date, to_date, updated_since, view, +4 more.

start_timerC

Start a timer for a timeslip

Inputs: id (required).

stop_timerC

Stop a running timer for a timeslip

Inputs: id (required).

update_timeslipC

Update an existing timeslip

Inputs: id (required), task, user, project, +3 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no ambiguity. The tools cover specific actions (create, delete, get, list, start timer, stop timer, update) on the 'timeslip' resource, making it easy for an agent to select the correct tool for any required operation without confusion.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern (e.g., create_timeslip, delete_timeslip). The naming is uniform across all tools, using snake_case and clear action verbs, which enhances predictability and readability for agents.

    Tool Count5/5

    With 7 tools, the count is well-scoped for managing timeslips, covering essential CRUD operations and timer functionality. Each tool serves a distinct and necessary role, making the set neither too sparse nor overloaded for the domain.

    Completeness5/5

    The tool set provides complete coverage for the timeslip domain, including full CRUD operations (create, get, list, update, delete) and additional lifecycle features (start and stop timer). There are no obvious gaps, ensuring agents can handle all expected workflows without dead ends.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      C
      maintenance
      An MCP server that connects Claude to FreshBooks, enabling reading and management of invoices, clients, expenses, projects, and time entries via natural language.
      1
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP server that connects Claude Desktop to your OpenProject instance, allowing you to manage projects, tasks, and time entries through natural language.
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      An MCP server for the FreshBooks API that lets Claude read and manage invoices, clients, expenses, projects, services, payments, and time entries.
      -