Agent-native finance ops.

Every other invoicing platform's "AI strategy" is a chat box stapled onto their existing product. Guliel ships an MCP server. Point Claude, ChatGPT, or any MCP-compatible agent at it, authenticate, and the agent operates your finance ops natively. Same actions, same compliance, same audit trail as the in-product AI and the REST API.

Status — the MCP server is live. Claude Code can connect directly to the hosted HTTP endpoint; Claude Desktop, Cursor, and other local clients can use the @guliel/mcp-server bridge. OAuth consent controls the organizations and scopes the agent receives.

What MCP is, briefly

Model Context Protocol is the open standard for AI agents to talk to external systems. The agent discovers what tools the server exposes, calls them with structured arguments, gets structured results back. Tools are deterministic, typed, and auditable — the agent isn't scraping a website or hallucinating an API. It's calling functions with names.

For Guliel, MCP means an agent can list your invoices, draft a new one, log an expense from a forwarded receipt, order from a supplier, or run a report — without us writing a bespoke integration with whichever AI vendor you use this quarter.

Available tools

A non-exhaustive list of the tools the server exposes. Names follow the live route catalog and new tools get added with every feature ship. The full machine-readable catalog is public at /api/mcp/tools.

Tool What it does
invoices.create, invoices.list, invoices.send Draft, inspect, and send country-compliant sales documents.
expenses.create, expenses.list, expenses.scan Log expenses, scan receipts, and inspect received documents.
customers.create, customers.list, customers.update Customer record management.
suppliers.create, suppliers.list, suppliers.update Supplier relationship management.
orders.create, orders.list, orders.status Draft, track, and update supplier orders.
logistics.list, logistics.stock Logistics catalog queries and stock movements.
reports.list, reports.get, reports.schema Discover and run country-aware reports.
automations.create, automations.list, automations.test Build or query automations.
organizations.list, settings.list Multi-org context and workspace settings.

Every tool returns structured JSON with consistent error shapes. The agent gets the same fidelity a developer using the REST API gets.

Compatibility

The server speaks MCP over the standard transports — stdio for local subprocess setups (Claude Desktop, MCP-compatible IDEs), HTTP/SSE for remote agent setups (cloud-hosted ChatGPT custom GPTs, agent frameworks).

Tested with:

  • Claude Code — connect the hosted HTTP endpoint and run claude mcp login guliel.
  • Claude Desktop — add Guliel to the MCP config, sign in once, the agent has the full tool surface.
  • ChatGPT — connect via the MCP HTTP transport once your account supports it.
  • Custom agents — any MCP client library works. Tooling overhead is whatever your language's MCP SDK requires.

We don't lock to one vendor. The protocol is open and the server doesn't care which agent on the other end.

Auth model

OAuth 2.0 for interactive agents (Claude Code, Claude Desktop, ChatGPT, end-user-facing setups). The agent triggers the authorization flow, the user signs in to Guliel and approves, the token gets stored in the agent's credential store. Token refresh is automatic. Revocation is per authorization from the dashboard.

API keys are available for non-interactive agents (CI bots, internal scripts, scheduled jobs). Generate a key scoped to one org, pass it as a bearer token from your own client, and revoke it from the dashboard when needed.

Per-org scoping applies. An agent authenticated to org A can't touch org B's data. Multi-org agents receive only the organizations approved on the OAuth consent screen.

Setup

Claude Code can use Guliel's hosted HTTP MCP endpoint directly:

claude mcp add --transport http --scope user guliel https://app.guliel.com/api/mcp/sse
claude mcp login guliel

claude mcp login guliel opens Guliel's OAuth consent screen immediately. Claude Code can also flag an auth-needed server from /mcp, but the explicit login command is the clearest way to make the tools appear before your first prompt.

Claude Desktop and Cursor can use the local stdio bridge:

{
  "mcpServers": {
    "guliel": {
      "command": "npx",
      "args": ["-y", "@guliel/mcp-server"]
    }
  }
}

The bridge walks the agent through OAuth on first connection. To force re-consent, run npx -y @guliel/mcp-server login. For HTTP transports, point your agent at https://app.guliel.com/api/mcp/sse and complete the OAuth dance from there.

The full MCP setup guide is at /docs/mcp. Tool schemas are published at /api/mcp/tools and discovered by the agent at connection time.

Pricing

MCP access is included on Standard ($20 / org / month) and Premium ($99 / org / month). Free tier has access for evaluation with the same metering that applies to the AI Companion (10 messages / month — relevant when the agent on the other end is using the same token budget). Full table on /pricing.

MCP tool calls themselves are not separately metered. What's metered is the underlying actions — invoices issued, expenses scanned, etc. — under the same quotas the rest of the platform uses. An agent that drafts a hundred invoices and discards them costs you nothing. An agent that issues a hundred invoices counts as a hundred invoices.

FAQ

Why MCP instead of a custom plugin per AI vendor?

Because every vendor's plugin format dies eventually. MCP is open, vendor-neutral, and getting adoption from the major model providers. Building once for MCP and getting Claude, ChatGPT, and the open agent ecosystem at the same time is the right trade.

Can my agent issue invoices without me approving them?

That's a token scope and a per-org gate. OAuth grants and API keys can be issued with read-only scopes. For tokens with write scope, the same approval gates that apply to the in-product AI apply to the MCP tools — sending invoices, sending external email, mutating pricing default to confirm. You can relax the gate per token if you want unattended operation.

Does the agent see other organizations' data?

No. Tokens are org-scoped. An agent acting on org A's behalf cannot read or write org B's resources, even if the same user owns both. Multi-org operations require explicit org.switch calls and the agent re-authenticating context.

What's the latency on MCP tool calls?

Tool calls hit the same backend as the REST API. Read tool latency is sub-100ms typical. Write tool latency depends on the action — issuing an invoice is sub-1s, scanning a receipt is bounded by the DocAI service. The MCP layer adds no measurable overhead.

Will MCP work if I'm self-hosting an agent?

Yes. The HTTP/SSE transport is reachable from any agent runtime. Open-source agent frameworks (LangGraph, AutoGen, custom Python) work the same way as the commercial agents do. The OAuth flow handles browser-based authorization; PATs handle headless.

Is this different from the REST API or just a wrapper?

It's not a wrapper. MCP exposes a curated, agent-friendly subset of the platform's actions with semantic tool names (invoice.draft rather than POST /v1/invoices?status=draft) and richer descriptions for the agent's tool-selection logic. The actions land in the same backend as the REST API, so the audit trail is unified — you'll see MCP-originated invoices in the same dashboard as API-originated and UI-originated ones.

Get an API key from your dashboard. Pricing at /pricing.

Last updated: