Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

marcusquinn/quickfile-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QuickFile MCP Server

Model Context Protocol server for QuickFile UK accounting software - giving AI assistants full access to invoicing, clients, purchases, banking, and financial reporting.

License: MIT Version CI Quality Gate Status Codacy Badge Maintainability CodeFactor CodeRabbit Pull Request Reviews MCP AGENTS.md QuickFile TypeScript Node.js

Features

  • 37 MCP Tools across 7 categories for complete QuickFile API coverage
  • Client Management: Create, search, update, delete clients and contacts
  • Invoicing: Create invoices, estimates, credit notes; send by email; get PDF
  • Purchases: Record and manage purchase invoices from suppliers
  • Supplier Management: Full supplier CRUD operations
  • Banking: Bank accounts, transactions, balances
  • Financial Reports: Profit & Loss, Balance Sheet, VAT obligations, Ageing reports
  • System Operations: Account details, event log, notes

Quick Start

1. Clone and Install

git clone https://github.com/marcusquinn/quickfile-mcp.git
cd quickfile-mcp
npm install
npm run build

Note your install path for step 3 (run pwd to see it). The built server is at <your-path>/dist/index.js.

2. Configure Credentials

Create your QuickFile API credentials:

mkdir -p ~/.config/.quickfile-mcp
cat > ~/.config/.quickfile-mcp/credentials.json << 'EOF'
{
  "accountNumber": "YOUR_ACCOUNT_NUMBER",
  "apiKey": "YOUR_API_KEY",
  "applicationId": "YOUR_APPLICATION_ID"
}
EOF
chmod 600 ~/.config/.quickfile-mcp/credentials.json

Or use the interactive setup script:

./setup.sh configure

Where to find these:

  1. Account Number: Visible in top-right corner of QuickFile dashboard
  2. API Key: Account Settings > 3rd Party Integrations > API Key
  3. Application ID: Account Settings > Create a QuickFile App > copy the Application ID

3. Add to Your MCP Client

This server works with any MCP-compatible client. Replace /absolute/path/to/quickfile-mcp below with the actual path from step 1 (the output of pwd).

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "quickfile": {
      "command": "node",
      "args": ["/absolute/path/to/quickfile-mcp/dist/index.js"]
    }
  }
}

Claude Code:

claude mcp add quickfile node /absolute/path/to/quickfile-mcp/dist/index.js

OpenCode (~/.config/opencode/opencode.json):

{
  "mcp": {
    "quickfile": {
      "type": "local",
      "command": ["node", "/absolute/path/to/quickfile-mcp/dist/index.js"],
      "enabled": true
    }
  }
}

You can also use the setup script to configure your client automatically:

./setup.sh client

4. Start Using

Restart your MCP client and try:

"Show me my QuickFile account details"
"List my recent invoices"
"Search for clients named 'Smith'"
"Get the profit and loss report for this year"

Available Tools

System (3 tools)

Tool Description
quickfile_system_get_account Get account details (company, VAT status, year end)
quickfile_system_search_events Search the audit event log
quickfile_system_create_note Add notes to invoices, clients, etc.

Clients (7 tools)

Tool Description
quickfile_client_search Search clients by name, email, postcode
quickfile_client_get Get full client details
quickfile_client_create Create a new client
quickfile_client_update Update client details
quickfile_client_delete Delete a client
quickfile_client_insert_contacts Add contacts to a client
quickfile_client_login_url Get passwordless login URL for client portal

Invoices (8 tools)

Tool Description
quickfile_invoice_search Search invoices by type, client, date, status
quickfile_invoice_get Get full invoice with line items
quickfile_invoice_create Create invoice, estimate, or credit note
quickfile_invoice_delete Delete an invoice
quickfile_invoice_send Send invoice by email
quickfile_invoice_get_pdf Get PDF download URL
quickfile_estimate_accept_decline Accept or decline an estimate
quickfile_estimate_convert_to_invoice Convert estimate to invoice

Purchases (4 tools)

Tool Description
quickfile_purchase_search Search purchase invoices
quickfile_purchase_get Get purchase details
quickfile_purchase_create Create purchase invoice
quickfile_purchase_delete Delete purchase invoice

Suppliers (4 tools)

Tool Description
quickfile_supplier_search Search suppliers
quickfile_supplier_get Get supplier details
quickfile_supplier_create Create a new supplier
quickfile_supplier_delete Delete a supplier

Banking (5 tools)

Tool Description
quickfile_bank_get_accounts List all bank accounts
quickfile_bank_get_balances Get account balances
quickfile_bank_search Search transactions
quickfile_bank_create_account Create a bank account
quickfile_bank_create_transaction Add bank transaction

Reports (6 tools)

Tool Description
quickfile_report_profit_loss Profit & Loss report
quickfile_report_balance_sheet Balance Sheet report
quickfile_report_vat_obligations VAT returns (filed & open)
quickfile_report_ageing Debtor/Creditor ageing
quickfile_report_chart_of_accounts List nominal codes
quickfile_report_subscriptions Recurring subscriptions

Development

npm install          # Install dependencies
npm run build        # Build TypeScript
npm run dev          # Development mode (auto-reload)
npm test             # Unit tests (no API calls)
npm run test:integration  # Integration tests (requires credentials)
npm run test:all     # All tests
npm run typecheck    # Type check
npm run lint         # Lint
npm run secretlint   # Scan for secrets

Enable debug mode to see raw API requests/responses (credentials redacted):

QUICKFILE_DEBUG=1 node dist/index.js

Testing with MCP Inspector

For development and debugging, use the official MCP Inspector to call tools directly without an AI client:

npx @modelcontextprotocol/inspector node dist/index.js

Then open http://localhost:5173 to browse all 37 tools, fill in parameters, and view raw JSON responses.

Architecture

quickfile-mcp/
├── src/
│   ├── index.ts           # MCP server entry point
│   ├── api/
│   │   ├── auth.ts        # MD5 authentication
│   │   └── client.ts      # HTTP client
│   ├── tools/
│   │   ├── index.ts       # Tool registry & exports
│   │   ├── utils.ts       # Shared utilities (error handling, logging)
│   │   ├── schemas.ts     # Zod validation schemas
│   │   ├── system.ts      # System tools (3)
│   │   ├── client.ts      # Client tools (7)
│   │   ├── invoice.ts     # Invoice & estimate tools (8)
│   │   ├── purchase.ts    # Purchase tools (4)
│   │   ├── supplier.ts    # Supplier tools (4)
│   │   ├── bank.ts        # Bank tools (5)
│   │   └── report.ts      # Report tools (6)
│   └── types/
│       └── quickfile.ts   # TypeScript types
├── tests/
│   ├── unit/              # Unit tests (201 tests, ~96% coverage)
│   └── integration/       # API integration tests (19 tests)
├── .agents/               # AI assistant documentation (AGENTS.md)
└── .github/workflows/     # CI/CD (test, lint, build, release)

Contributing

The QuickFile API has strict requirements for element ordering and required fields. When contributing:

  1. Always check the official API schema at https://api.quickfile.co.uk/
  2. Use Context7 for AI-assisted development: https://context7.com/websites/api_quickfile_co_uk
  3. Read AGENTS.md for API quirks, response structure patterns, and common workflows

Credential Security

  • Credentials stored in ~/.config/.quickfile-mcp/credentials.json
  • File permissions should be 600 (owner read/write only)
  • Never commit credentials to version control
  • API key provides full access - treat it like a password
  • Secretlint runs automatically on pre-commit to prevent accidental secret exposure

API Rate Limits

QuickFile has a default limit of 1000 API calls per day per account. Contact QuickFile support if you need this increased.

Related Projects

License

MIT License - see LICENSE file for details.

Created by Marcus Quinn - Copyright 2025-2026

About

MCP server for QuickFile UK accounting software - invoices, clients, purchases, banking, and reports

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors