Boond Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Boond Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A Model Context Protocol (MCP) server that provides seamless integration with the BoondManager API, enabling AI assistants like Claude to search, retrieve, create, and update records in your BoondManager instance.
# Clone the repository
git clone https://github.com/yourusername/boond-mcp.git
cd boond-mcp
# Install dependencies
bun install
# Build the project
bun run build
# Set up environment variables
cp .env.example .env
# Edit .env and add your BOOND_API_TOKENCreate a .env file in the project root:
BOOND_API_TOKEN=your_api_token_hereAdd the following to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"boondmanager": {
"command": "node",
"args": ["/absolute/path/to/boond-mcp/build/index.js"],
"env": {
"BOOND_API_TOKEN": "your_api_token_here"
}
}
}
}Note: Make sure to use the absolute path to the built index.js file.
Manage candidates, contacts, resources, and contracts.
#### Candidates
query, page, limit, statusidfirstName, lastName, email, phone, address, city, countryid, plus any fields to update#### Contacts
query, page, limit, companyIdidfirstName, lastName, email, companyId, phone, titleid, plus any fields to update#### Resources
query, page, limit, statusidfirstName, lastName, email, type, startDateid, plus any fields to update#### Contracts
query, page, limit, statusidresourceId, startDate, endDate, type, salaryid, plus any fields to updateManage companies, opportunities, and quotations.
#### Companies
query, page, limit, typeidname, type, address, city, country, phone, emailid, plus any fields to update#### Opportunities
query, page, limit, status, companyIdidtitle, companyId, value, currency, probability, expectedCloseDateid, plus any fields to update#### Quotations
query, page, limit, status, opportunityIdidopportunityId, title, total, currency, validUntilid, plus any fields to updateid, email, messageManage invoices, purchases, orders, and banking.
#### Invoices
query, page, limit, status, dateFrom, dateToidcompanyId, projectId, amount, currency, dueDateid, plus any fields to update#### Purchases
query, page, limit, status, dateFrom, dateToidsupplierId, amount, currency, description, dateid, plus any fields to update#### Orders
query, page, limit, status, dateFrom, dateToidcompanyId, projectId, amount, currency, descriptionid, plus any fields to update#### Banking
query, page, limitidaccountId, dateFrom, dateTo, page, limitManage projects, deliveries, and actions.
#### Projects
query, page, limit, status, companyIdid#### Deliveries
query, page, limit, projectId, statusidprojectId, name, description, dueDateid, plus any fields to updateid, email, message#### Actions
query, page, limit, projectId, status, assignedToidprojectId, name, description, assignedTo, dueDate, priorityid, plus any fields to updateidManage time reports, absences, and expenses.
#### Time Reports
resourceId, startDate, endDate, status, page, limitidresourceId, date, hours, projectId, description#### Absences
resourceId, startDate, endDate, type, status, page, limitidresourceId, startDate, endDate, type, reasonid, plus any fields to update#### Expenses
resourceId, startDate, endDate, status, page, limitidresourceId, date, amount, currency, category, descriptionid, plus any fields to updateidid, reasonManage agencies, business units, and accounts.
#### Agencies
query, page, limitidname, address, city, country, phone, emailid, plus any fields to update#### Business Units
query, page, limitidname, code, description, managerIdid, plus any fields to update#### Accounts
query, page, limitidname, type, number, currency, balanceid, plus any fields to updateManage documents and files.
query, page, limit, folderIdidid, name, folderIdidManage apps, settings, and alerts.
#### Apps
query, page, limit, typeididid#### Settings
query, page, limit, categoryidid, value, category#### Alerts
query, page, limit, status, severityidid, status, resolutionOnce configured, you can ask Claude to:
HR Management:
"Find candidates with React experience in Paris"
"Create a new contact for John Doe at Acme Corp"
"Get resource details for employee ID 12345"
"Update contract end date for resource 67890"CRM Operations:
"Search for all client companies"
"Create a new opportunity worth €50,000 for Company XYZ"
"Send quotation ID 12345 to the client"
"Get all active opportunities for Q1"Financial Management:
"Search for unpaid invoices from last month"
"Create a new purchase order for €5,000"
"Get banking transaction history for account 12345"
"Update invoice status to paid for ID 67890"Project Management:
"Show me all active projects"
"Create a new delivery milestone for Project ABC"
"Assign action item to John for Project XYZ"
"Get project details including all deliveries"Time & Expenses:
"Create a time report for resource 123 on project 456 for 8 hours today"
"Search time reports for resource 123 from January 1st to January 31st"
"Submit expense report for €150 in travel costs"
"Certify expense report ID 789"Administration:
"Search for all agencies"
"Create a new business unit called 'Sales Team'"
"Get account balance for account ID 12345"
"Update agency address for Paris office"Document Management:
"Search for documents in folder 'Contracts'"
"Get download URL for document ID 12345"
"Update document name to 'Updated Contract v2'"System Configuration:
"Search for email notification settings"
"Install the Gmail integration app"
"Get all active alerts"
"Resolve alert ID 12345"You can also interact with the server directly using the MCP protocol:
# List available tools
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node build/index.js
# Search candidates
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"boond_candidates_search","arguments":{"query":"developer","limit":5}}}' | node build/index.js
# Get company by ID
echo '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"boond_companies_get","arguments":{"id":"12345"}}}' | node build/index.js
# Create time report
echo '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"boond_timereports_create","arguments":{"resourceId":"123","date":"2024-01-15","hours":8,"projectId":"456","description":"Worked on feature X"}}}' | node build/index.js# Build the project
bun run build
# Watch mode for development
bun run dev
# Run the server
bun start
# Type check
bunx tsc --noEmit
# Count registered tools
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | BOOND_API_TOKEN=test bun run src/index.ts 2>/dev/null | jq '.result.tools | length'boond-mcp/
├── src/
│ ├── index.ts # MCP server entry point
│ ├── api/
│ │ ├── client.ts # BoondManager API client
│ │ └── index.ts # API exports
│ ├── tools/
│ │ ├── index.ts # Main tool exports
│ │ ├── hr/ # HR domain tools
│ │ │ ├── candidates.ts
│ │ │ ├── contacts.ts
│ │ │ ├── resources.ts
│ │ │ ├── contracts.ts
│ │ │ └── index.ts
│ │ ├── crm/ # CRM domain tools
│ │ │ ├── companies.ts
│ │ │ ├── opportunities.ts
│ │ │ ├── quotations.ts
│ │ │ └── index.ts
│ │ ├── finance/ # Finance domain tools
│ │ │ ├── invoices.ts
│ │ │ ├── purchases.ts
│ │ │ ├── orders.ts
│ │ │ ├── banking.ts
│ │ │ └── index.ts
│ │ ├── projects/ # Projects domain tools
│ │ │ ├── projects.ts
│ │ │ ├── deliveries.ts
│ │ │ ├── actions.ts
│ │ │ └── index.ts
│ │ ├── time/ # Time domain tools
│ │ │ ├── timeReports.ts
│ │ │ ├── absences.ts
│ │ │ ├── expenses.ts
│ │ │ └── index.ts
│ │ ├── admin/ # Admin domain tools
│ │ │ ├── agencies.ts
│ │ │ ├── businessUnits.ts
│ │ │ ├── accounts.ts
│ │ │ └── index.ts
│ │ ├── documents/ # Documents domain tools
│ │ │ ├── documents.ts
│ │ │ └── index.ts
│ │ └── system/ # System domain tools
│ │ ├── apps.ts
│ │ ├── settings.ts
│ │ ├── alerts.ts
│ │ └── index.ts
│ └── types/
│ ├── boond.ts # BoondManager API types
│ ├── mcp.ts # MCP-specific types
│ ├── schemas.ts # Zod validation schemas
│ └── index.ts # Type exports
├── build/ # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.mdMake sure you've set the BOOND_API_TOKEN environment variable either in your .env file or in the Claude Desktop configuration.
bun run build to compile the TypeScriptbun install)BOOND_API_TOKEN is setIf you get "Tool not found" errors:
src/index.tsThis MCP server wraps the BoondManager API. For detailed API documentation, visit: https://doc.boondmanager.com/api-externe/
MIT
Contributions are welcome! Please feel free to submit a Pull Request.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.