jfeilberg/bifrost-mcp
If you are the rightful owner of bifrost-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
Bifrost MCP is a Model Context Protocol server designed for the KarbonHQ accounting practice management API, built with Next.js and deployable on Vercel.
Bifrost MCP
MCP (Model Context Protocol) server for KarbonHQ accounting practice management API. Built with Next.js and deployable on Vercel.
Features
- Streamable HTTP Transport - Compatible with Vercel serverless deployment
- Full Karbon API Coverage - Tools for Client Groups, Contacts, Invoices, Payments, Business Cards, Comments, and Integration Tasks
- OData Support - Full support for filtering, sorting, and pagination
Available MCP Tools
Client Groups
list_client_groups- List client groups with OData filteringget_client_group- Get a client group by keyget_client_group_by_identifier- Get client group by user-defined identifiercreate_client_group- Create a new client groupupdate_client_group- Update an existing client group
Contacts
list_contacts- List contacts with filtering by name, email, phone
Business Cards
get_business_card- Get a business card by keyupdate_business_card- Update business card information
Invoices
list_invoices- List invoices with filtering and sortingget_invoice- Get invoice details
Payments
list_payments- List paymentsget_payment- Get payment detailscreate_manual_payment- Record a manual paymentdelete_manual_payment- Delete a manual paymentreverse_manual_payment- Reverse a manual payment
Comments
get_comment- Get a comment by key
Integration Tasks
list_integration_task_definitions- List available task definitionslist_integration_tasks- List integration tasksget_integration_task- Get task detailsupdate_integration_task- Update task status/data
Setup
1. Clone and Install
git clone <repository-url>
cd bifrost-mcp
pnpm install
2. Configure Environment
Copy the example environment file:
cp .env.example .env.local
Add your Karbon API credentials to .env.local:
KARBON_BEARER_TOKEN=your_bearer_token_here
KARBON_ACCESS_KEY=your_access_key_here
Getting your credentials:
- Bearer Token: Register at Karbon Developer Portal
- Access Key: Found in Karbon Settings → Connected Apps
3. Run Development Server
pnpm dev
The MCP endpoint will be available at http://localhost:3000/mcp
Deployment
Vercel
- Push to GitHub
- Import project in Vercel
- Add environment variables in Vercel dashboard:
KARBON_BEARER_TOKENKARBON_ACCESS_KEY
- Deploy
The MCP endpoint will be at https://your-domain.vercel.app/mcp
Using with Claude Desktop
Add to your Claude Desktop configuration (claude_desktop_config.json):
{
"mcpServers": {
"karbon": {
"url": "https://your-domain.vercel.app/mcp"
}
}
}
For local development:
{
"mcpServers": {
"karbon": {
"url": "http://localhost:3000/mcp"
}
}
}
OData Query Examples
The Karbon API uses OData for filtering and sorting. Examples:
# Filter by status
$filter=ClientGroupStatus eq 'Current'
# Filter by name contains
$filter=contains(FullName, 'Smith')
# Order by date descending
$orderby=InvoiceDate desc
# Pagination
$skip=10&$top=20
Project Structure
bifrost-mcp/
├── app/
│ ├── mcp/
│ │ └── route.ts # MCP endpoint handler
│ ├── api/ # Future API routes
│ ├── layout.tsx
│ └── page.tsx
├── lib/
│ ├── karbon/
│ │ └── client.ts # Karbon API client
│ └── mcp/
│ ├── server.ts # MCP server setup
│ └── tools.ts # Tool definitions & handlers
├── types/
│ └── karbon.ts # TypeScript types
└── package.json
License
ISC