FreeAgent

An MCP server that manages FreeAgent timeslips and timers with OAuth handling and Docker support.
  • javascript

3

GitHub Stars

javascript

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

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

This MCP server lets Claude interact with your FreeAgent account to manage timeslips and timers, with automatic OAuth handling and Docker support for easy deployment.

How to use

You use this server by configuring an MCP client to connect either locally via a standard input/output (stdio) flow or remotely in a containerized environment. Once connected, you can list, create, update, and delete timeslips, start and stop timers, and rely on automatic OAuth token refresh to keep access seamless. The server exposes a well-defined set of actions you can invoke from your MCP client to manage your FreeAgent data without leaving your workflow.

How to install

Prerequisites you need before you start include Node.js 18+ for direct Node.js usage and Docker plus Docker Compose for containerized usage. You also need a FreeAgent account with API access and OAuth credentials from the FreeAgent Developer Dashboard.

# Option 1: Direct Node.js Installation

# 1. Clone the repository
git clone https://github.com/yourusername/freeagent-mcp.git
cd freeagent-mcp

# 2. Install dependencies
npm install

# 3. 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

# 1. Clone the repository
git clone https://github.com/yourusername/freeagent-mcp.git
cd freeagent-mcp

# 2. Create your environment file
cp .env.example .env
# Edit .env with your FreeAgent credentials

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

Configuration

Configure the MCP client to connect to the FreeAgent MCP server by adding an entry for the FreeAgent server in your MCP settings. The following snippets show the required JSON configurations for the stdio (Node.js) and Docker deployments.

{
  "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": []
    }
  }
}
{
  "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": []
    }
  }
}

Notes and tips

The server supports direct Node.js usage or containerized deployment via Docker. Ensure your FreeAgent OAuth tokens are kept secure and refreshed automatically to avoid interrupted access. If you plan to run locally, point your MCP client to the stdio server using the specified command and environment variables. If you prefer containerization, build and run the Docker image and supply the same environment values.

Available tools

list_timeslips

Retrieve and filter timeslips with optional nested resources, date ranges, and status filters.

create_timeslip

Create a new timeslip linked to a task, user, and project with the specified date and hours.

update_timeslip

Modify existing timeslip details such as hours, date, or comments.

start_timer

Start a timer for a specific timeslip or task.

stop_timer

Stop an active timer to record time against a timeslip.

delete_timeslip

Remove a timeslip from the account.

oauth_token_refresh

Automatically refresh OAuth tokens to maintain access without manual intervention.

docker_support

Dockerized deployment support for easy containerized usage.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
FreeAgent MCP Server - markpitt/freeagent-mcp | VeilStrat