Cryptoworth MCP Connector
Read-only access to your Cryptoworth portfolio data from Claude, ChatGPT, and other MCP-aware clients.
Remote MCP OAuth 2.0 Read-only Claude & ChatGPT v1.0.1
Overview
Cryptoworth is an enterprise crypto-accounting platform used by controllers and CFOs to produce audit-ready subledgers for digital assets. The Cryptoworth MCP Connector gives Claude, ChatGPT, and other MCP-aware clients a typed, sandboxed view of one or more portfolios so finance teams can ask natural-language questions about transactions, wallet balances, end-of-period snapshots, DeFi positions, NFTs, invoices, and bills.
The connector is read-only by design. It exposes 20 query tools
that call GET endpoints on the Cryptoworth Portfolio API and rejects
any other HTTP method at the source level. It cannot create, modify, or delete
records, move funds, sign transactions, or interact with any blockchain wallet's
private keys.
Prerequisites
- An active Cryptoworth account — cryptoworth.com.
- At least one portfolio (entity) configured in your Cryptoworth workspace.
- Permission to grant third-party OAuth access. If your workspace has SSO or admin-managed connector policies, an admin may need to approve the integration.
- One of the following clients:
- Claude — Claude.ai (web) or Claude Desktop, any paid plan.
- ChatGPT — ChatGPT with Developer Mode enabled. Custom apps are supported on all ChatGPT plans, subject to workspace administrator settings.
- Any other MCP client that supports remote OAuth (Streamable HTTP transport, Authorization Code with PKCE).
How to connect
The same MCP endpoint works for both Claude and ChatGPT:
https://mcp.cryptoworth.app/mcp
Claude (Claude.ai or Claude Desktop)
- Open Settings → Connectors.
- Choose Add custom connector.
- Paste the server URL above.
- Claude discovers the OAuth authorization server, opens a Cryptoworth sign-in window, and asks you to consent. The consent screen includes a portfolio picker — select one or more portfolios you want Claude to be able to query.
- After consent, the connector is active. Try one of the example prompts below in a new conversation.
ChatGPT
ChatGPT calls custom MCP integrations Apps. You'll need Developer Mode enabled on your account; enterprise workspaces also require an admin to enable it for the org.
- Open Settings → Apps & Connectors → Advanced settings and toggle Developer mode on. If you don't see the toggle, ask your workspace admin to enable Workspace Settings → Permissions & Roles → Connected Data Developer mode.
- Go to Settings → Connectors → Create (in some plans labelled Apps → Create).
- Fill in:
- Name: Cryptoworth
- Description: Read-only access to your Cryptoworth crypto-accounting portfolios.
- MCP Server URL:
https://mcp.cryptoworth.app/mcp - Authentication: OAuth
- Confirm "I trust this application." ChatGPT redirects to Cryptoworth's sign-in and consent screen; pick the portfolio(s) you want to expose, then approve.
- In a new chat, click the + button → More and select Cryptoworth to enable the app for that conversation.
portfolioId on subsequent calls automatically.
Permissions and scope
- Read-only. All 20 tools are tagged
readOnlyHint: true. Claude skips per-call confirmation by default; ChatGPT also treats these as safe reads. No tool can change, create, or delete Cryptoworth data. - Portfolio-scoped. The access token the client receives is bound to the portfolios you select at consent. Any attempt to query a different portfolio is rejected by the connector before reaching Cryptoworth.
- OAuth 2.0 with PKCE. Authorization Code flow with S256 PKCE, audience-bound tokens (RFC 8707). No long-lived API keys are issued to Claude or ChatGPT.
- Revocable at any time. Revoke access from the Cryptoworth account settings, from Claude's Connectors panel, or from ChatGPT's Apps & Connectors panel. Revocation is immediate — the connector validates token signatures on every request.
Tool catalog
All 20 tools are read-only.
Portfolio & wallets
| Tool | What it does |
|---|---|
list_authorized_portfolios | List the portfolio ids this session is authorized to query. |
list_connections | List all connections in a portfolio, including on-chain wallets, exchange connections, and manual virtual wallets. |
list_wallets | List active on-chain wallets in a portfolio (addresses and xpub/ypub/zpub wallets). |
Transactions
| Tool | What it does |
|---|---|
list_transactions | List portfolio ledger transactions with date-range filtering and pagination. |
read_transaction | Get details for a single transaction by internal ledger id. |
Snapshots
| Tool | What it does |
|---|---|
read_snapshots | List end-of-day portfolio balance snapshot summaries across a date range. |
read_snapshot_details | Detailed breakdown of one snapshot, grouped by asset, wallet, connection, or derivatives. |
get_snapshot_info | Summary metadata for a snapshot, grouped by asset or connection. |
DeFi
| Tool | What it does |
|---|---|
read_defi_info | Overview of the portfolio's DeFi positions across all tracked protocols. |
read_defi_protocol_info | DeFi positions for a specific protocol (uniswap, aave, compound, etc.). |
NFTs
| Tool | What it does |
|---|---|
search_nft_portfolio | Search NFTs held in the portfolio by name or collection text, paginated. |
read_nft_specific | Get a single NFT's details by internal Cryptoworth nftId. |
list_nft_transactions | List on-chain transactions for a specific NFT. |
Crypto library & labels
| Tool | What it does |
|---|---|
list_crypto_library | List Cryptoworth-supported tokens; resolve symbol or name to a crypto id. |
list_labels | List user-defined transaction labels in the portfolio's library. |
Invoices & bills
| Tool | What it does |
|---|---|
list_invoices | List invoices issued from the portfolio. |
get_next_invoice_id | Get the next sequential invoice id the portfolio would assign. |
list_invoice_supported_tokens | List currencies/tokens accepted as invoice payment by the portfolio. |
list_bills | List bills (incoming invoices / payables) recorded against the portfolio. |
read_bill | Get details for a specific bill by id. |
Example prompts
You can use the Cryptoworth connector to:
Discover Authorized Portfolios:
"List all the entities I can access through this connector"
Query Ledger Transactions:
"Show me all transactions over $10,000 on Ethereum for Q1 2026"
Analyze Portfolio Value Over Time:
"What was the USD value of the portfolio at end-of-day on 2026-03-31?"
Review Wallet Holdings:
"List wallets currently holding USDC and their balances"
Monitor DeFi Exposure:
"Summarize our DeFi positions across Aave and Compound"
Track NFT Portfolio Activity:
"Which NFTs in our treasury wallet had on-chain activity this month?"
Manage Invoices and Payables:
"List unpaid invoices issued from the Operations entity"
Data handling and legal
- The connector forwards your tool arguments to the Cryptoworth Portfolio API and returns the JSON response to the requesting client (Claude, ChatGPT, etc.). No portfolio data is stored on the MCP server; the request lifecycle is per-call and stateless.
- The connector responds only to tool invocations and returns only data directly relevant to the request. It does not read your chat history, conversation summaries, files, or any client-side state.
- Access tokens are validated against Cryptoworth's authorization server on every request and never logged in plaintext.
- For details on what Cryptoworth collects, how it is stored, and your rights, see the Privacy Policy.
- The platform is an accounting and reporting tool. It does not provide investment, accounting, or tax advice; see the Disclaimer for the full scope.
- Use of the connector is governed by the Cryptoworth Terms of Service.
Troubleshooting
"Add custom connector" doesn't open a sign-in window
Confirm your MCP client can reach the MCP endpoint:
curl -sI https://mcp.cryptoworth.app/health should return
HTTP 200. If your network blocks the .app TLD,
ask your IT admin to allowlist mcp.cryptoworth.app.
Consent screen doesn't show my portfolios
The portfolio picker lists only entities you currently have access to in Cryptoworth. If a portfolio is missing, verify your Cryptoworth user is a member of that entity in close.cryptoworth.app and retry the connector flow — new portfolios appear after the next consent.
"Token is not for this connector" error
This means your access token's audience does not match this MCP server. Disconnect and reconnect the connector in Claude or ChatGPT to obtain a fresh, correctly-bound token.
"Missing portfolio scope" error
Your consent screen didn't include a portfolio selection. Disconnect the connector and reconnect; this time pick at least one portfolio at consent.
Tool calls return forbidden for a specific portfolioId
The token does not authorize the portfolio you tried to query. Call
list_authorized_portfolios first to see which ids are
available, and use one of those. If you expected access, re-consent with
the additional portfolios selected.
Tool calls return rate_limited
You hit Cryptoworth's API rate limit. Wait 5–10 seconds before the next call and prefer smaller paginated requests for large data sets.
NFT details tool returns "invalid_input"
read_nft_specific and list_nft_transactions
need the internal Cryptoworth nftId. Use
search_nft_portfolio first to find a valid identifier.
Snapshot tools return no data
Snapshots are generated by a scheduled job. If a wallet was added very recently, no snapshot may exist for it yet. Try a date range starting 24–48 hours after the wallet's first transaction.
Connector worked yesterday and now returns 401
Your access token expired. The connector should re-authenticate automatically on the next tool call; if it doesn't, disconnect and reconnect manually.
Support
| Channel | Use for |
|---|---|
| support@cryptoworth.com | Account issues, OAuth/consent problems, anything portfolio-data-related. |
| Cryptoworth Help Center | General product help, accounting workflows, integrations. |
| Service status | Live health check of the MCP server ({"status":"ok"} when up). |