pachatraining-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PACHA_SQL_USER | Yes | SQL Server account to connect with (for example pacha_app or mcp_reader). The server must not connect as sa. | |
| PACHA_SQL_SERVER | No | Address and port of the SQL Server instance. Must be updated if SQLPORT is changed. | 127.0.0.1,14733 |
| PACHA_SQL_DATABASE | No | SQL Server database to use. | PachadataTraining |
| PACHA_SQL_PASSWORD | Yes | Password for the SQL Server account. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| completions | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| sessions_in_weekA | List the training sessions that start from Use it to find sessions by date. It does not count enrollments: for one session whose id
you know, call |
| session_detailA | Describe one training session whose id you know: course code, English title, start date, status, and the number of trainees enrolled (cancelled enrollments not counted).
|
| trainer_loadA | Count the sessions a trainer is engaged for in one month, and the days billed for them, from the trainer engagements. A session belongs to the month it starts in. Engagements are recorded up to mid-October 2026: a later month returns zero. |
| unpaid_invoicesA | List the invoices still unpaid more than |
| sessions_to_watchA | List the sessions PLANNED or OPEN that start from |
| cancelled_enrollmentsA | List the cancelled enrollments of one session: trainee, cancellation date, and the reason given, oldest enrollment first.
|
| postpone_sessionA | Move the start date of one training session, after the user confirms it. The server asks the user itself: do not ask for a confirmation in the conversation. A session that is completed or cancelled, or that started before |
| cancel_enrollmentA | Cancel one enrollment of a trainee in a session, after the user confirms it. The server asks the user itself: do not ask for a confirmation in the conversation. An enrollment already cancelled, or in a session completed or cancelled, cannot be cancelled: the result then says why. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| review_week | Review the training sessions of one week the way the planning team does it. |
| trainer_review | Review the load of one trainer in one month the way the planning team does it. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| session_statuses | The five statuses a training session can be in, with their labels. |
TDQS
Scored across 8 tools
Each tool targets a distinct resource and action: weekly session listing, single-session detail, trainer load, unpaid invoices, at-risk sessions, cancelled enrollments, and two mutations. The only mild overlap is between sessions_in_week and sessions_to_watch, but their filters (all sessions vs planned/open under half full) are clearly spelled out, and descriptions cross-reference each other to avoid misselection.
Names are uniformly snake_case with a readable convention: read/query tools use noun phrases (sessions_in_week, trainer_load, unpaid_invoices) and mutations use verb_noun (postpone_session, cancel_enrollment). The read-vs-write split is intentional and consistent, though the mixed style is a minor deviation from a single verb_noun pattern.
Eight tools is well-scoped for a training-administration server: each covers a distinct workflow (session lookup, detail, trainer billing, invoices, watchlist, cancellations, postpone, cancel enrollment) with no filler. Nothing feels redundant or missing from a count perspective.
The surface covers read access across sessions, enrollments, trainers, and invoices, plus two correction operations. However, obvious lifecycle gaps remain: no tool to create a session or enrollment, no way to mark a session completed/cancelled, and no invoice payment/settlement operation, which will force agents to hit dead ends for common administrative tasks.