@kula-ai/mcp-server
MCP server enabling AI assistants to connect to Kula recruiting API for managing jobs, candidates, applications, webhooks, and more.
README
@kula-ai/mcp-server
An MCP (Model Context Protocol) server for the Kula recruiting API. Connect AI assistants like Claude to your Kula account to list jobs, manage applications, configure webhooks, and more.
Quick Start
With Claude Desktop
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"kula": {
"command": "npx",
"args": ["-y", "@kula-ai/mcp-server"],
"env": {
"KULA_API_KEY": "your_api_key_here"
}
}
}
}
<details> <summary>With Cursor</summary>
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"kula": {
"command": "npx",
"args": ["-y", "@kula-ai/mcp-server"],
"env": {
"KULA_API_KEY": "your_api_key_here"
}
}
}
}
</details>
<details> <summary>With Claude Code</summary>
claude mcp add kula -- npx -y @kula-ai/mcp-server
Then set KULA_API_KEY in your environment.
</details>
Manual
npx @kula-ai/mcp-server
Configuration
| Environment Variable | Required | Description |
|---|---|---|
KULA_API_KEY |
Yes | Your Kula API key |
Get your API key from Kula Developer Settings.
Available Tools
51 tools across 13 categories:
<details> <summary>Organization (4 tools)</summary>
| Tool | Description |
|---|---|
list_departments |
List all departments in the organization as a nested tree structure |
list_offices |
List all offices in the organization |
list_milestones |
List all hiring milestones (pipeline stage groupings) |
list_users |
List all active internal users (recruiters, hiring managers, coordinators) |
</details>
<details> <summary>Sources (1 tool)</summary>
| Tool | Description |
|---|---|
list_sources |
List all candidate sources in the organization |
</details>
<details> <summary>Rejection Reasons (1 tool)</summary>
| Tool | Description |
|---|---|
list_rejection_reasons |
List all rejection reasons configured in the organization |
</details>
<details> <summary>Custom Fields (1 tool)</summary>
| Tool | Description |
|---|---|
list_custom_fields |
List custom fields by subject type. Required — valid values: job, candidate, requisition, offer |
</details>
<details> <summary>Jobs (3 tools)</summary>
| Tool | Description |
|---|---|
list_jobs |
List jobs with filters (status, department, office, date ranges, sort) |
search_jobs |
Search jobs by title (partial match) with optional filters |
get_job |
Get details of a specific job |
</details>
<details> <summary>Job Stages (3 tools)</summary>
| Tool | Description |
|---|---|
list_job_stages |
List all pipeline stages for a specific job |
create_job_stage |
Create a new pipeline stage for a job |
list_stage_activities |
List all activities configured for a specific job stage |
</details>
<details> <summary>Job Posts (2 tools)</summary>
| Tool | Description |
|---|---|
list_job_posts |
List published job posts on the job board |
get_job_post |
Get details of a specific job post from the job board |
</details>
<details> <summary>Candidates (5 tools)</summary>
| Tool | Description |
|---|---|
create_candidate |
Create a new candidate in the system |
list_candidates |
List candidates with simple filters (email, date ranges, sort) |
search_candidates |
Search candidates by name, email, skills, tags, location, and more |
get_candidate |
Get details of a specific candidate |
update_candidate |
Update an existing candidate's profile |
</details>
<details> <summary>Applications (6 tools)</summary>
| Tool | Description |
|---|---|
list_applications |
List job applications |
get_application |
Get details of a specific application |
update_application_stage |
Update the stage of a specific application |
list_application_notes |
List notes on a specific application |
create_application_note |
Add a note to a specific application |
update_application_note |
Update an existing note on an application |
</details>
<details> <summary>Scorecard Submissions (1 tool)</summary>
| Tool | Description |
|---|---|
list_scorecard_submissions |
List scorecard submissions for a specific application |
</details>
<details> <summary>Webhooks (12 tools)</summary>
| Tool | Description |
|---|---|
list_webhooks |
List all configured webhooks |
create_webhook |
Create a new webhook subscription |
get_webhook |
Get details of a specific webhook |
update_webhook |
Update an existing webhook configuration |
delete_webhook |
Delete a webhook |
enable_webhook |
Enable a disabled webhook |
disable_webhook |
Disable an active webhook |
rotate_webhook_secret |
Rotate the signing secret for a webhook |
test_webhook |
Send a test payload to a webhook endpoint |
list_webhook_logs |
List recent delivery logs for a webhook |
list_webhook_events |
List all available webhook event types |
get_webhook_sample_payload |
Get a sample webhook payload for a specific event type |
</details>
<details> <summary>Requisitions (6 tools)</summary>
| Tool | Description |
|---|---|
list_requisitions |
List all requisitions for your account |
get_requisition |
Get detailed information about a specific requisition |
list_requisition_fields |
List default and custom field definitions for requisitions |
create_requisition |
Create a new requisition (supports linked groups via head_count) |
update_requisition |
Update an existing requisition |
close_requisition |
Close a requisition |
</details>
<details> <summary>Autocomplete (6 tools)</summary>
| Tool | Description |
|---|---|
search_companies |
Search companies by name |
list_industries |
List all available industries |
search_locations |
Search locations by query |
search_institutions |
Search academic institutions by name |
search_disciplines |
Search academic disciplines by name |
list_degrees |
List all available academic degrees |
</details>
Development
# Use correct Node version
nvm use
# Install dependencies
npm install
# Build
npm run build
# Watch mode
npm run dev
# Run tests
npm test
# Test with MCP Inspector
npx @modelcontextprotocol/inspector node build/index.js
Connecting locally
To test your local build with an AI client instead of the published package:
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"kula": {
"command": "node",
"args": ["/absolute/path/to/kula-mcp/build/index.js"],
"env": {
"KULA_API_KEY": "your_api_key_here"
}
}
}
}
<details> <summary>With Cursor</summary>
Edit ~/.cursor/mcp.json:
{
"mcpServers": {
"kula": {
"command": "node",
"args": ["/absolute/path/to/kula-mcp/build/index.js"],
"env": {
"KULA_API_KEY": "your_api_key_here"
}
}
}
}
</details>
<details> <summary>With Claude Code</summary>
claude mcp add kula -- node /absolute/path/to/kula-mcp/build/index.js
Then set KULA_API_KEY in your environment.
</details>
Note: The server uses STDIO transport, so there's no hot-reload. After rebuilding (
npm run buildor vianpm run dev), restart the MCP client to pick up changes.
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。