mcp-staffing-demo
Click on "Deploy 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., "@mcp-staffing-demo Can we staff the insurer's mission starting in November, and with whom?"
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.
mcp-staffing-demo
A small, self-contained MCP server used as the live demo of the talk « MCP : donner des mains à vos agents » (English). The domain is deliberately familiar: staffing at a consulting firm. Four tools, one in-memory dataset, no network calls and no database, because a demo on a conference stage shouldn't depend on anything.
Tool names and data are in French, as in the talk. Everything is fictional.
Quick start
git clone https://github.com/brbousnguar/mcp-staffing-demo
cd mcp-staffing-demo
npm install && npm run buildRelated MCP server: JobMatch MCP
Connecting
Claude Code
claude mcp add staffing -- node "$PWD/dist/index.js"Claude Desktop, Cursor, or any client that reads an mcpServers config (for VS Code + Copilot, put the same block in .vscode/mcp.json):
{
"mcpServers": {
"staffing": {
"command": "node",
"args": ["/absolute/path/to/mcp-staffing-demo/dist/index.js"]
}
}
}Then ask your agent something like: "Can we staff the insurer's mission starting in November, and with whom?"
The tools
Tool | Input | Output |
|
| A short list, sorted by level then availability |
|
| One person's profile: rated skills, day rate, languages, monthly load |
|
| A coverage verdict plus scored candidates, with typed |
|
| A booking confirmation, or an explicit error |
What the code demonstrates
Each tool exists to make one point from the talk:
z.strictObjecteverywhere. A parameter the model invents is rejected withUnrecognized key: "…"instead of being silently ignored — the bug from lesson 1 of the talk.The computation lives in the server.
analyser_staffing_missioncrosses skills, load and budget in tested TypeScript. The model gets a verdict, not tables to reconcile.Two outputs per call.
contentcarries the answer the model reads;structuredContentthe same result as typed JSON for orchestrating code.No empty success.
reserver_collaborateurfails loudly if the person is unknown or out of capacity. An agent can never believe it wrote something it didn't.
Scripts
Command | Does |
| Compile |
| Compile on change |
| Type-check only |
| Run the server on stdio |
The dataset
src/donnees.ts: 8 people, 3 missions, a capacity of 20 working days a month, four open months (2026-09 to
2026-12). All fictional. Bookings made during a session live in memory and disappear on restart.
Stack
TypeScript 5.9 · @modelcontextprotocol/server 2.0 · Zod 4 · stdio transport · Node ≥ 20
Mind the SDK version. This server uses SDK v2 (
@modelcontextprotocol/server,zod/v4,inputSchemaas az.strictObject({…})). Most tutorials still use SDK v1 (@modelcontextprotocol/sdk), whose import paths andinputSchemashape (a raw shape rather than a Zod object) differ. Copying this code into a v1 project won't work as is.
License
MIT
Available Tools
4 toolsanalyser_staffing_missionAnalyser le staffing d une missionB
Evalue quels collaborateurs peuvent couvrir une mission : score d'adequation, ecarts de competences, cout estime et alerte budget. Une seule reponse, deja calculee.
Inputs: mission_id (required), candidats_max. Returns: candidats, etp_requis, mission_id, etp_couvert, +1 more
obtenir_collaborateurObtenir la fiche d un collaborateurA
Fiche detaillee d'un collaborateur : competences notees, TJM, langues et disponibilite mois par mois.
Inputs: id (required).
rechercher_collaborateursRechercher des collaborateursA
Recherche des collaborateurs disponibles selon une competence, une agence et un mois. Retourne une liste courte, triee par niveau de competence puis par disponibilite.
Inputs: mois, agence, limite, jours_min, +2 more.
reserver_collaborateurReserver un collaborateur sur une missionB
Pose une reservation de jours sur un collaborateur pour un mois donne. Echoue explicitement si le collaborateur, la mission ou la capacite ne suivent pas.
Inputs: mois (required), jours (required), mission_id (required), collaborateur_id (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool targets a distinct action: fetch one collaborator's detail, search a list, analyze mission fit, and create a reservation. The boundaries are clear and non-overlapping, so an agent can select confidently.
All four names follow a consistent French verb_noun pattern (obtenir_/rechercher_/analyser_/reserver_) with plural/singular nouns used meaningfully. No mixed conventions or vague verbs.
Four tools is on the lean side but well-scoped for a focused staffing demo, with each tool earning its place. Slightly thin given the domain could support more operations.
Covers the core search → detail → analysis → reservation flow, but there is no way to cancel/modify a reservation or list existing bookings/missions, leaving dead ends after a booking. Notable lifecycle gaps remain.
Maintenance
Related MCP Connectors
Hire specialists by the hour — search, schedule, and pay via MCP protocol.
184 MCP tools for field-service CRM, scheduling and double-entry accounting. Hosted; BYO agent.
Your team's custom tools and skills in every agent, through one MCP connection.
Connects Amazon Seller Central and Amazon Advertising to any MCP client. Settlement-accurate P&L - every fee, refund and reimbursement as Amazon posted it - plus contribution margin and breakeven per product, per marketplace, per day. Full Sponsored Products, Brands and Display management: search terms, placements, keyword and competitor research, dayparting, automation rules. 110 tools: 78 read-only (P&L, PPC at every grain, SQP/Brand Analytics, inventory, forecasting), 28 staged writes (every change is a proposal you review and confirm before it reaches Amazon - there is no autonomous-write mode), and 4 confirmation & support tools. 4 additional AI Workforce tools appear once a client is connected.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceProvides MCP tools for job search, inbound recruiter activity triage, conversation inbox access, and guarded profile updates.-
- FlicenseNot gradedqualityCmaintenanceEnables AI-powered job search and resume matching with strict skill verification, resume parsing, and configurable user preferences, plus MCP tools for job search, Excel export, and email dispatch.-
- FlicenseNot gradedqualityAmaintenanceEnables users to search and view job postings and manage career-profile data such as work experiences, job summaries, career goals, and technical skills through MCP-compatible clients.-
- FlicenseNot gradedqualityAmaintenanceEnables AI assistants to search jobs, retrieve job details, and view or update career-profile data such as experiences, job summaries, career goals, and technical skills through MCP tools.-