Documentation Index
Fetch the complete documentation index at: https://docs.dualentry.com/llms.txt
Use this file to discover all available pages before exploring further.
MCP Server
DualEntry provides a Model Context Protocol (MCP) server - a standardized interface that allows any compatible AI model or agent to access your accounting data in a simple and secure way. Connect any MCP-compatible client and ask questions about your records, accounts, vendors, and customers using natural language.
Client Setup
Claude
- Open claude.ai and go to Settings > Connectors
- Click Add custom connector
- Enter the URL:
https://api.dualentry.com/mcp/
- Click Add
- Complete the authentication prompt in your browser
Custom connectors require a Claude Pro, Max, Team, or Enterprise plan. On Team and Enterprise plans, only workspace Owners can add connectors (via Organization Settings > Connectors). Members can then enable and authenticate with connectors that have been added by their Owner.
claude mcp add --transport http dualentry https://api.dualentry.com/mcp/
Custom MCP Clients
The MCP server supports Streamable HTTP transport with OAuth 2.1 authentication at the following URL:
https://api.dualentry.com/mcp/
When you connect for the first time, your client will open a browser window for you to log in with your DualEntry credentials.
codex --mcp-server https://api.dualentry.com/mcp/
Any MCP client that supports Streamable HTTP transport and OAuth 2.1 can connect using the URL above. Refer to your client’s documentation for how to add a remote MCP server.
Authentication
No API keys are needed - you sign in with the same DualEntry credentials you use for the dashboard.
- On first connection your MCP client will open a browser for login.
- Sessions are refreshed automatically.
- Your permissions match your DualEntry role - if you can’t see something in the dashboard, you can’t see it through MCP either.
Tools respect your organization’s permissions and company-level access restrictions.
Record Retrieval
| Tool | Description |
|---|
search_records | Search for accounting records with filters (type, vendor/customer name, date range, amount range). Supports pagination with offset and limit (max 1,000 per page). |
get_record_detail | Get full details for a specific record by its transaction ID. |
get_record_by_number | Look up a record by its number (e.g., JE-123, BI-456, IN-789). |
get_record_history | Get the audit trail for a specific record. |
get_related_records | Find records related to a given record (e.g., payments linked to an invoice). |
get_record_schema | Get the field schema for a record type (bill, invoice, journal_entry, etc.). |
list_supported_transactions | List all supported record types and whether they support creation. |
Entity Search
| Tool | Description |
|---|
search_entities | Search for entities (vendors, customers, accounts, companies, items, classifications, terms) by name. Supports pagination with offset and limit. Returns ID, name, and type-specific fields (e.g., account number, currency, email). |
Record & Entity Creation
| Tool | Description |
|---|
create_draft_record | Create a draft accounting record for review. Does not save to database. |
validate_record | Validate record data before saving (checks required fields, entity existence, balancing). |
save_record | Save a new accounting record to the database. |
create_draft_entity | Create a draft entity (vendor, customer, etc.) for review. Does not save to database. |
save_entity | Save a new entity to the database. |
Example Conversations
Once connected, you can ask your AI assistant questions like:
- “Show me all invoices from last month over $5,000”
- “Look up journal entry JE-412 and show me its line items”
- “What payments are linked to invoice IN-1089?”
- “Search for vendors matching ‘Acme’”
- “Create a bill for vendor Acme Corp, $500 for office supplies”
Permissions
MCP access is governed by your DualEntry role. Tools check permissions before returning data:
| Permission Required | Tools |
|---|
| Transactions | search_records, get_record_detail, get_record_by_number, get_record_history, get_related_records, get_record_schema, list_supported_transactions |
| Record Creation | create_draft_record, validate_record, save_record (per record type) |
| Chart of Accounts | search_entities (account) |
| Companies | search_entities (company) |
| Customers | search_entities (customer) |
| Vendors | search_entities (vendor) |
| Items | search_entities (item) |
| Classifications | search_entities (classification) |
| Terms | search_entities (term) |
| Entity Creation | create_draft_entity, save_entity (per entity type) |
If you lack a required permission, the tool returns a “Permission denied” message.
Troubleshooting
General
| Issue | Solution |
|---|
| ”Permission denied” on a tool | Your DualEntry role doesn’t include the required permission. Ask your administrator to update your access. |
| Stale data after permission change | Sign out and back in to apply changes immediately. |
Claude
| Issue | Solution |
|---|
| Connector not available | Custom connectors require a Claude Pro, Max, Team, or Enterprise plan. On Team/Enterprise plans, only Owners can add connectors. |
Custom MCP Clients
These issues apply when connecting via third-party clients that use OAuth 2.1 to authenticate with the MCP server.
| Issue | Solution |
|---|
| Login window doesn’t appear | Your client must support OAuth 2.1-based MCP servers. Update to the latest version and verify OAuth support in your client’s documentation. |
| Connection timeout | Verify the MCP URL (https://api.dualentry.com/mcp/) is correct and that you can reach api.dualentry.com from your network. |