Skip to main content
Glama
popuripk
by popuripk
README.md
# self-service-mcp

A **workplace self-service MCP server**: directory, time off, tickets, policy search. Writes are governed. Compensation is *structurally* out of scope — the tool exists so the model can be told **no** instead of hallucinating a yes.

[![CI](https://github.com/popuripk/self-service-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/popuripk/self-service-mcp/actions)
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)

The interesting part of enterprise agents is not “can it call an API.” It is **which APIs it must never call**, even if the user (or a prompt injection) asks nicely.

```
search_directory          read
get_time_off_balance      read
search_policy             read
submit_time_off           write → shadow / approve
create_ticket             write → shadow / approve
change_compensation       always DENY
```

Synthetic directory data only. No employer systems, no personal data from work.

## Run

```bash
npm install
npm test
npm run mcp
```

## Design

- Same choke-point as [lattice-mcp](https://github.com/popuripk/lattice-mcp) and [ewm-ops-mcp](https://github.com/popuripk/ewm-ops-mcp).
- Default `SS_MODE=shadow`.
- `change_compensation` is registered *on purpose*. Hidden capabilities are how agents surprise you. Denied capabilities are how you sleep.

## License

MIT © Prasanna Kumar Popuri