Asset exposes a Model Context Protocol (MCP) server that lets AI assistants query financial data from your accounting platform—transactions, reports, ledger activity, and more—using natural language instead of writing API calls by hand.
Server endpoint
| Environment | URL |
|---|
| Production | https://api.getasset.com/mcp |
| Sandbox | https://api.sandbox.getasset.com/mcp |
The server uses remote HTTP transport. Connect your MCP client to the URL for the environment you are working in.
Authentication
The MCP server uses the same OAuth 2.0 flow as the Asset API. Every request must include a valid access token in the Authorization header.
Tokens used with MCP must be scoped to the MCP resource using the resource parameter when you request the token. This sets the JWT aud (audience) claim so the token is only valid for the MCP server.
Use a dedicated token with resource=https://api.getasset.com/mcp (or the
sandbox equivalent). Do not reuse API tokens that were issued for the REST API
without the MCP resource indicator.
Getting an access token
You need OAuth client credentials from the Asset Dashboard. See API Authentication for setup details.
Request a token scoped to the MCP resource:
curl --request POST \
--url https://api.getasset.com/v0/auth/token \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data 'client_id=<string>' \
--data 'client_secret=<string>' \
--data 'resource=https://api.getasset.com/mcp'
For sandbox, use https://api.sandbox.getasset.com/v0/auth/token and resource=https://api.sandbox.getasset.com/mcp.
A successful response returns:
{
"access_token": "your-access-token",
"token_type": "Bearer",
"expires_in": 3600
}
Scoping to a business
To limit the token to a single business, pass business_id in the token request—the same as with REST API tokens:
curl --request POST \
--url https://api.getasset.com/v0/auth/token \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data 'client_id=<string>' \
--data 'client_secret=<string>' \
--data 'resource=https://api.getasset.com/mcp' \
--data 'business_id=biz_GA6EG2qFxA97NZHtxeLPUy'
Access tokens expire after a set time. Request a new token using the same flow when it expires.
Connecting from an AI client
Configure a remote MCP server in your client with the server URL and the bearer token from the previous step.
Cursor
Add the server to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project-scoped):
{
"mcpServers": {
"asset": {
"url": "https://api.getasset.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
}
}
}
Open Settings → Tools & MCP to confirm the server is connected and its tools are available.
Claude Desktop
Add the server to your Claude Desktop MCP config (claude_desktop_config.json):
{
"mcpServers": {
"asset": {
"url": "https://api.getasset.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
}
}
}
Restart Claude Desktop after saving the config.
Token values in config files are sensitive. Prefer environment variable
substitution where your client supports it, and avoid committing tokens to
version control.
What you can do
Once connected, your AI assistant can use MCP tools exposed by Asset to work with your accounting data—for example:
- Pull financial reports such as profit and loss or balance sheet
- Answer questions about a business’s books in context
Credentials and tokens should always be kept secure—never share them outside
your organization and exercise caution when sharing internally.