Skip to main content

Model Context Protocol (MCP)

||View as Markdown|

Model Context Protocol (MCP)

Connect GAAPx directly to Claude Desktop, Cursor, Windsurf, and autonomous AI agents using the Model Context Protocol (MCP).

With the GAAPx MCP Server, your AI coding assistants and agents can query live trial balances, inspect ASC 606 revenue schedules, search contract terms, and run automated accounting compliance checks in real time.


Prerequisites​

Before connecting your MCP client, you need an active GAAPx API key:

  1. Log in to your GAAPx Admin Console.
  2. Navigate to System > API & MCP Keys.
  3. Under Generate an API key, provide a name (e.g., Claude Desktop MCP) and select your desired permissions.
  4. Click Generate key and copy your secret token (prefixed with gx_live_...).

:::warning Save Your Key Your secret key is only displayed once upon generation. Keep it secure and store it in your environment variables or password manager. :::


Connection Methods​

GAAPx supports two transport protocols:

Connect directly to GAAPx's hosted cloud endpoint without installing local packages:

  • Endpoint URL: https://app.gaapx.com/api/mcp
  • Header: Authorization: Bearer gx_live_YOUR_API_KEY

2. Stdio MCP (CLI Wrapper)​

Run the GAAPx MCP server locally via npx:

npx -y @gaapx/mcp

Client Setup Guides​

Add the following snippet to your claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"gaapx": {
"url": "https://app.gaapx.com/api/mcp",
"headers": {
"Authorization": "Bearer gx_live_YOUR_API_KEY"
}
}
}
}

:::tip Using Stdio with Claude Desktop If you prefer running via standard I/O (Stdio):

{
"mcpServers": {
"gaapx": {
"command": "npx",
"args": ["-y", "@gaapx/mcp"],
"env": {
"GAAPX_API_KEY": "gx_live_YOUR_API_KEY"
}
}
}
}

:::


Exposed MCP Tools​

The following tools are automatically registered and discoverable by your AI agent:

1. get_ledger_summary​

Fetches trial balance totals, active journal entries, or Note 6 disclosure schedules for a specified period.

Inputs:

  • period (string, required): The accounting period (e.g. "2026-Q3", "2026-09").
  • basis (string, optional): Accounting standard: "GAAP" (default) or "IFRS".
  • entity_id (string, optional): UUID of a specific legal entity (if scoped across multiple entities).
// Example Agent Prompt:
// "Can you pull the Q3 trial balance from GAAPx and list the top 3 revenue accounts?"

2. get_revenue_waterfall​

Retrieves ASC 606 revenue recognition waterfalls, deferred revenue balances, and unrecognized contract value.

Inputs:

  • fiscal_year (integer, required): Target fiscal year (e.g. 2026).
  • granularity (string, optional): "monthly" (default) or "quarterly".

3. search_contracts​

Searches Master Service Agreements (MSAs), order forms, and amendments by customer name, dates, or terms.

Inputs:

  • query (string, required): Search keywords or customer legal name.
  • status (string, optional): Filter by status ("active", "pending_review", "expired").
  • limit (integer, optional): Maximum number of records (default 10).

4. get_contract_details​

Fetches complete contract terms, performance obligations (POBs), Standalone Selling Prices (SSP), and linked invoices.

Inputs:

  • contract_id (string, required): UUID or contract number (e.g., "CNT-2026-0042").

5. check_asc606_compliance​

Runs automated validation against ASC 606 / IFRS 15 rules, checking for unallocated transaction prices, missing milestone attestations, or orphan billing lines.

Inputs:

  • contract_id (string, required): Target contract UUID.
  • rule_set (string, optional): "standard" or "strict".

6. query_accounting_policies​

Queries your company's approved accounting policy documentation and FASB topic interpretations stored in GAAPx.

Inputs:

  • topic (string, required): Topic name (e.g., "ASC 606", "ASC 842", "Capitalized Commissions").

Security & Scopes​

  • Read-Only Enforcement: If an API key is generated with Read-Only permissions, any tool attempting to mutate records or trigger state changes will be rejected with an HTTP 403 Forbidden.
  • Entity Isolation: Restricted keys can only query data within their designated legal entity.
  • Audit Logging: Every tool execution made through an MCP client is recorded in your GAAPx Audit Log with timestamps, calling agent metadata, and token IDs.

Troubleshooting​

Connection Times Out​

Ensure your client can reach https://app.gaapx.com. If you are behind an enterprise firewall or VPN, whitelist outgoing traffic to app.gaapx.com on port 443.

401 Unauthorized Error​

Verify that:

  1. Your token starts with gx_live_.
  2. The Authorization header includes the Bearer prefix:
    Authorization: Bearer gx_live_...
  3. The key has not expired or been revoked in the GAAPx Admin Console.

Need Help?​

For technical support or feature requests, contact our developer team at [email protected].