@smartytalent/mcp-tools
v0.9.5
Published
MCP tool definitions for SmartyTalent API
Downloads
10,643
Maintainers
Readme
@smartytalent/mcp-tools
Model Context Protocol tool definitions for the SmartyTalent recruitment API.
This package ships a pre-built tools.json generated from the SmartyTalent OpenAPI spec — one MCP tool per API operation — so you can plug the full API surface into any MCP server or LLM host with a few lines of glue code.
Install
npm install @smartytalent/mcp-toolsWhat's inside
tools— an array of MCP tool definitions (name,description,inputSchema,_meta)_metacarries routing hints (method,path,operationId) so your MCP server can map tool calls back to HTTP requests
interface MCPTool {
name: string // snake_case operationId, e.g. "list_tenants"
description: string // from OpenAPI summary/description
inputSchema: { // JSON Schema for tool arguments
type: 'object'
properties: Record<string, unknown>
required?: string[]
}
_meta: {
method: string // HTTP verb, e.g. "GET", "POST"
path: string // e.g. "/tenants/{id}"
operationId: string // original camelCase operationId
}
}Quick start
Register all tools with an MCP server
import { tools } from '@smartytalent/mcp-tools'
import { Server } from '@modelcontextprotocol/sdk/server/index.js'
import { ListToolsRequestSchema, CallToolRequestSchema } from '@modelcontextprotocol/sdk/types.js'
const server = new Server({ name: 'smartytalent', version: '1.0.0' }, { capabilities: { tools: {} } })
server.setRequestHandler(ListToolsRequestSchema, async () => ({
tools: tools.map(({ name, description, inputSchema }) => ({ name, description, inputSchema })),
}))
server.setRequestHandler(CallToolRequestSchema, async (req) => {
const tool = tools.find((t) => t.name === req.params.name)
if (!tool) throw new Error(`Unknown tool: ${req.params.name}`)
const { method, path } = tool._meta
const args = req.params.arguments ?? {}
// Interpolate path params, split query/body, and dispatch...
const response = await callSmartyTalentApi(method, path, args)
return { content: [{ type: 'text', text: JSON.stringify(response) }] }
})Pair with the official API client
For type-safe execution, delegate to @smartytalent/api-client instead of building your own HTTP dispatcher. Match _meta.operationId to the corresponding API class method.
Raw JSON
If you're not in a JS runtime, import tools.json directly:
import tools from '@smartytalent/mcp-tools/dist/tools.json'Versioning
Published in lockstep with @smartytalent/api-client. Pin both packages to the same version to guarantee the tool catalog matches the HTTP surface.
License
Licensed under the Apache License, Version 2.0.
Copyright © 2026 SmartyTalent (SmartyMeet sp. z o.o.)
