Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@QuickFile MCP Servershow me my recent invoices"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
QuickFile MCP Server
Model Context Protocol server for
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 build2. 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.jsonOr use the interactive setup script:
./setup.sh configureWhere to find these:
Account Number: Visible in top-right corner of QuickFile dashboard
API Key: Account Settings > 3rd Party Integrations > API Key
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. Add it to your client's configuration:
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"quickfile": {
"command": "node",
"args": ["/path/to/quickfile-mcp/dist/index.js"]
}
}
}Claude Code:
claude mcp add quickfile node /path/to/quickfile-mcp/dist/index.jsOpenCode (~/.config/opencode/opencode.json):
{
"mcp": {
"quickfile": {
"type": "local",
"command": ["node", "/path/to/quickfile-mcp/dist/index.js"],
"enabled": true
}
}
}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 |
| Get account details (company, VAT status, year end) |
| Search the audit event log |
| Add notes to invoices, clients, etc. |
Clients (7 tools)
Tool | Description |
| Search clients by name, email, postcode |
| Get full client details |
| Create a new client |
| Update client details |
| Delete a client |
| Add contacts to a client |
| Get passwordless login URL for client portal |
Invoices (8 tools)
Tool | Description |
| Search invoices by type, client, date, status |
| Get full invoice with line items |
| Create invoice, estimate, or credit note |
| Delete an invoice |
| Send invoice by email |
| Get PDF download URL |
| Accept or decline an estimate |
| Convert estimate to invoice |
Purchases (4 tools)
Tool | Description |
| Search purchase invoices |
| Get purchase details |
| Create purchase invoice |
| Delete purchase invoice |
Suppliers (4 tools)
Tool | Description |
| Search suppliers |
| Get supplier details |
| Create a new supplier |
| Delete a supplier |
Banking (5 tools)
Tool | Description |
| List all bank accounts |
| Get account balances |
| Search transactions |
| Create a bank account |
| Add bank transaction |
Reports (6 tools)
Tool | Description |
| Profit & Loss report |
| Balance Sheet report |
| VAT returns (filed & open) |
| Debtor/Creditor ageing |
| List nominal codes |
| 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 secretsEnable debug mode to see raw API requests/responses (credentials redacted):
QUICKFILE_DEBUG=1 node dist/index.jsTesting 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.jsThen 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:
Always check the official API schema at https://api.quickfile.co.uk/
Use Context7 for AI-assisted development: https://context7.com/websites/api_quickfile_co_uk
Read AGENTS.md for API quirks, response structure patterns, and common workflows
Credential Security
Credentials stored in
~/.config/.quickfile-mcp/credentials.jsonFile 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
QuickFile - UK accounting software
Model Context Protocol - Protocol specification for AI tool integration
AI DevOps Framework - AI infrastructure management
License
MIT License - see LICENSE file for details.
Created by Marcus Quinn - Copyright 2025-2026
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.