PlainStaff MCP Server
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., "@PlainStaff MCP Serverwhat's my current flextime balance?"
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.
PlainStaff Model Context Protocol (MCP) Server
Secure, enterprise-grade AI assistant integration for PlainStaff time tracking, projects, absences, and workforce management.
Quick Start • Client Setup • Available Tools • Two-Phase Safety • Development
Under Active Development — Not Yet Live
The PlainStaff MCP extension is currently in active development and cannot be used yet. The remote endpoints and published packages are not yet live.
🌟 Overview
The PlainStaff MCP Server connects AI assistants—including Claude (Desktop & Code), ChatGPT, Cursor, Grok, and custom LLM agents—directly to your PlainStaff workspace.
Through standard Model Context Protocol (MCP) interfaces, LLMs can inspect working hours, manage project bookings, check vacation balances, evaluate shift plans, and generate reports—while strictly honoring company permissions and employee privacy.
Core Highlights
🛡️ Two-Phase Write Confirmation: Destructive and write operations run in
dry_runpreview mode by default. Assisting agents must receive explicit user approval and commit with a timedconfirm_token.🔒 Enterprise-Grade Security: Strict multi-tenant isolation, RBAC role checks (Employee, Manager, HR Admin), and OAuth 2.1 Bearer authentication.
⚡ Dual Transport Architecture:
Remote HTTP (
POST /mcp): Stateless streamable JSON endpoint for cloud assistants (ChatGPT, Claude Connectors, Grok).Local stdio Proxy (
plainstaff-mcp-server): Zero-latency stdio-to-HTTPS proxy for desktop apps and IDEs.
📊 26+ Curated Tools: Covering time tracking, project financials, employee master data, shifts, and ArbZG compliance.
💡 Built-in Prompts & Resources: Out-of-the-box workflows for month-end reviews (
monatsabschluss), project status audits (projektstatus), and live schema introspection.
Related MCP server: external-ai-ecosystem-gateway
🚀 Quick Start
Local stdio Proxy (Desktop & IDEs)
No local installation required—run directly via npx:
# Using an OAuth Bearer Token
export PLAINSTAFF_ACCESS_TOKEN="your_access_token"
# Or using your Personal API Key
export PLAINSTAFF_API_KEY="your_api_key"
export PLAINSTAFF_TENANT="your_tenant_id"
npx -y @plainstaff/mcpRemote HTTP Endpoint (Cloud Assistants)
For cloud connectors (Claude custom connector, ChatGPT Apps SDK, Grok):
POST https://api.plainstaff.com/mcp
Authorization: Bearer <oauth2_access_token>
Content-Type: application/jsonOAuth 2.1 discovery endpoints:
Authorization Server:
GET /.well-known/oauth-authorization-serverProtected Resource:
GET /.well-known/oauth-protected-resource
💻 Client Configuration
Claude Desktop
Add to your claude_desktop_config.json (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"plainstaff": {
"command": "npx",
"args": ["-y", "@plainstaff/mcp"],
"env": {
"PLAINSTAFF_ACCESS_TOKEN": "your_access_token"
}
}
}
}Cursor / VS Code
Add to .cursor/mcp.json in your project root or user settings:
{
"mcpServers": {
"plainstaff": {
"command": "npx",
"args": ["-y", "@plainstaff/mcp"],
"env": {
"PLAINSTAFF_API_KEY": "your_api_key",
"PLAINSTAFF_TENANT": "your_tenant"
}
}
}
}🧰 Tool Catalog
Tools are grouped by domain with fine-grained RBAC permission checks:
⏱️ Time Tracking & Absences
Tool | Scope | Description |
| Write ⚠️ | Record or update a working time entry ( |
| Read | Retrieve work hour bookings within a date interval. |
| Read | Calculate current flextime / overtime balance and target hours. |
| Read | List recorded vacations, sick leaves, and public holidays. |
| Write ⚠️ | Submit an absence or vacation request. |
| Read | List timesheets and vacation requests awaiting managerial approval. |
| Write ⚠️ | Approve or reject pending time bookings or absences. |
| Write ⚠️ | Submit an official time booking correction. |
📂 Projects & Billing
Tool | Scope | Description |
| Read | List active projects, customers, and assigned project budgets. |
| Read | Analyze project budget consumption, burn rate, and remaining hours. |
| Read | Detailed time bookings allocated to a specific project. |
| Write ⚠️ | Book hours directly against a project task or milestone. |
| Read | Retrieve invoice status and unbilled project hours. |
👥 Master Data & Organizations
Tool | Scope | Description |
| Read | List accessible colleagues, teams, and departments. |
| Read | Retrieve detailed profile for an employee (subject to RBAC). |
| Read | Query customer directories linked to projects. |
| Read | List organizational units and team structures. |
| Read | Query regional public holidays and non-working days. |
📅 Workforce, Shifts & Compliance
Tool | Scope | Description |
| Read | Retrieve rostered shifts and duty rosters. |
| Read | Query employee availability considering vacations and target hours. |
| Read | Audit working hours against legal regulations (e.g. ArbZG rest breaks, max daily hours). |
🔍 Discovery & Reports
Tool | Scope | Description |
| Read | Fast full-text lookup across master data (employees, projects, customers). |
| Read | Retrieve a specific entity by its URI ( |
| Read | List available reporting templates. |
| Read | Execute predefined reports and export aggregated data. |
🛡️ Safety & Two-Phase Write Confirmation
To protect against inadvertent AI actions (hallucinations, accidental deletions, erroneous bookings), all write operations use Two-Phase Commit:
sequenceDiagram
participant User
participant Assistant as AI Assistant
participant MCP as PlainStaff MCP Server
participant API as PlainStaff API
User->>Assistant: "Book 4 hours on Project Phoenix for today"
Assistant->>MCP: plainstaff.project_book_time(..., dry_run=true)
MCP-->>Assistant: { dry_run: true, preview: {...}, confirm_token: "tok_xyz", expires: 300s }
Assistant-->>User: "I will book 4h on Project Phoenix (9:00 - 13:00). Please confirm."
User->>Assistant: "Confirmed, go ahead"
Assistant->>MCP: plainstaff.project_book_time(..., dry_run=false, confirm_token="tok_xyz")
MCP->>API: Execute booking
API-->>MCP: Success
MCP-->>Assistant: { success: true, booking_id: "12345" }
Assistant-->>User: "Done! Booking #12345 created."Phase 1 (Preview): The tool is called with
dry_run: true(default). The server calculates the result, checks permissions, and issues a short-lived cryptographicconfirm_token(valid for 5 minutes).Phase 2 (Commit): The assistant prompts the user for verification. Upon user consent, the tool is called again with
dry_run: falseand the matchingconfirm_token.
🛠️ Development
This package is written in modern TypeScript (ESM) and uses vitest for contract and integration testing.
# Clone the repository
git clone https://github.com/P1ainStaff/MCP.git
cd MCP
# Install dependencies
pnpm install
# Run unit & schema tests
pnpm test
# Typecheck and build dist/
pnpm run build📄 License & Links
License: MIT License — see LICENSE for details.
PlainStaff Website: plainstaff.com
Developer Documentation: plainstaff.com/developers/mcp
Issues & Feedback: GitHub Issues
This server cannot be deployed
Maintenance
Related MCP Connectors
Give AI agents identity, scoped access, trusted context, and verifiable actions through MCP.
Let AI agents query data and act across all your business apps via MCP.
Connect any AI agent to 1,000+ apps and 27,000+ actions through one remote MCP server (OAuth).
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage and interact with WordPress sites through MCP, providing tools for content creation, moderation, WooCommerce operations, and governance.47GPL 2.0
- AlicenseNot gradedqualityDmaintenanceEnables MCP-compatible assistants to securely access external systems like Slack through permission-scoped, idempotent tools with tenant isolation, delegated OAuth consent, and an immutable audit trail.MIT

Workel MCP Serverofficial
AlicenseNot gradedqualityBmaintenanceEnables AI agents to access and manage a Workel workspace through MCP tools, reading projects, tasks, comments, events, and members, and optionally creating or updating tasks, comments, and events when write scopes and local consent are enabled.9 npmMIT- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to access and manage Google Workspace services such as Gmail, Drive, Docs, Sheets, Calendar, and Slides through the MCP protocol, with built-in OAuth 2.0 authentication and read/write tool support.-