0x1NotMe

AroFlo MCP

Community 0x1NotMe
Updated

Aroflo MCP Server

AroFlo MCP

Standalone, production-ready MCP server for AroFlo with first-class request signing and a clean tool surface.

Quick Start

Install (Local)

This repo ships an MCP server executable named aroflo-mcp (stdio transport by default).

Install the server on your machine (puts aroflo-mcp on your PATH via npm link):

make install

Install Into Codex (stdio)

  1. Create a local .env (not committed) with your credentials:
cp .env.example .env
# edit .env
  1. Register the server in Codex (stores env in ~/.codex/config.toml, not passed as tool args):
make codex-install
  1. Verify:
codex mcp get aroflo

Manual Codex Install (Alternative)

If you prefer doing it manually (same env variables, stored in Codex config):

codex mcp add aroflo \
  --env AROFLO_API_BASE_URL=https://api.aroflo.com/ \
  --env AROFLO_ACCEPT=text/json \
  --env AROFLO_SECRET_KEY=... \
  --env AROFLO_UENCODED=... \
  --env AROFLO_PENCODED=... \
  --env AROFLO_ORG_ENCODED=... \
  --env MCP_TRANSPORT=stdio \
  -- "$(command -v node)" "$(pwd)/dist/mcp/server.js"

Notes:

  • If Codex (desktop app) hangs starting the server, it is usually a PATH issue (common when Node is installed via nvm and the app is launched outside your shell).
  • Fix 1: Launch Codex from a terminal so it inherits your shell PATH (codex app).
  • Fix 2: Configure the MCP server to run via an absolute Node path (see docs/runbooks.md).

Development

Install dependencies:

npm install

Build and test:

npm run test
npm run build

Run server (stdio):

npm run dev

Run server (HTTP Streamable transport):

MCP_TRANSPORT=http npm run dev:http

MCP Inspector

To interactively test tools/list and tools/call via the official inspector UI:

make inspector

Project Layout

src/
  auth/
  aroflo/
  mcp/
  utils/
tests/
docs/

Environment

Required variables:

  • AROFLO_SECRET_KEY
  • AROFLO_UENCODED
  • AROFLO_PENCODED
  • AROFLO_ORG_ENCODED

Optional variables:

  • AROFLO_API_BASE_URL (default: https://api.aroflo.com/)
  • AROFLO_ACCEPT (default: text/json)
  • AROFLO_HOST_IP
  • AROFLO_TIMEOUT_MS (default: 65000)
  • AROFLO_MAX_RETRIES (default: 2)
  • LOG_LEVEL (default: info)

HTTP Transport

Set MCP_TRANSPORT=http to run an HTTP server (Streamable HTTP transport) at:

  • http://${MCP_HTTP_HOST}:${MCP_HTTP_PORT}${MCP_HTTP_PATH}

Using Extracted API Docs (docs/api)

This repo includes a local snapshot of the AroFlo API docs in docs/api/.

The MCP server exposes these markdown files as MCP resources so the client/LLM can look up valid WHERE fields, JOIN areas, etc:

  • aroflo://docs/api -> docs/api/README.md
  • aroflo://docs/api/<slug> -> docs/api/<slug>.md (example: aroflo://docs/api/quotes)

Example query: list Quotes with acceptance status "Awaiting Decision":

  • Tool: aroflo_get_quotes
  • Args:
{
  "where": "and|acceptancestatus|=|Awaiting Decision",
  "page": 1,
  "pageSize": 50
}

Example report: open projects with labour hours per task (recommended for progress reporting):

  • Tool: aroflo_report_open_projects_with_task_hours
  • Args (add optional filters like sinceDateRequested to keep outputs small):
{
  "sinceCreatedUtc": "2025-01-01",
  "sinceDateRequested": "2025-01-01",
  "hoursOnly": true,
  "includeTaskStatus": true,
  "mode": "data"
}

Docs

  • docs/aroflo-auth.md
  • docs/mcp-tools.md
  • docs/examples.md
  • docs/runbooks.md
  • docs/deployment.md
  • docs/api/*

MCP Server · Populars

MCP Server · New

    snyk

    mcp-scan

    Security scanner for AI agents, MCP servers and agent skills.

    Community snyk
    resend

    Email sending MCP 💌

    The official MCP server to send emails and interact with Resend

    Community resend
    screenpipe

    [ screenpipe ]

    screenpipe turns your computer into a personal AI that knows everything you've done. record. search. automate. all local, all private, all yours.

    Community screenpipe
    screenpipe

    [ screenpipe ]

    screenpipe turns your computer into a personal AI that knows everything you've done. record. search. automate. all local, all private, all yours.

    Community screenpipe
    kfastov

    tgcli

    Telegram user console client and archiver

    Community kfastov