peoplesoft
Click on "Install 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., "@peoplesoftList all active projects for business unit UCD"
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.
PeopleSoft MCP Server
A minimal Model Context Protocol (MCP) server, built as a worked example of how an MCP server is constructed. It exposes a local SQLite contracts/billing database (PROJECT, CA_DETAIL, CA_BILL_PLAN) through a small set of tools, ranging from generic schema introspection to purpose-built semantic queries.
Features
Schema introspection tools — discover tables and columns without any prior knowledge of the schema
Semantic tools — purpose-built queries for the contracts/billing domain (projects, contract lines, bill plans)
Direct SQL tool — an escape hatch for arbitrary queries once the schema is known
Direct database access via Python's stdlib
sqlite3, wrapped inasyncio.to_threadfor async compatibility
Related MCP server: MySQL MCP Server
Quick Start
Prerequisites
Python 3.11+
uv package manager (recommended)
Installation
# Clone the repository
git clone <repo-url>
cd peoplesoft-mcp
# Install dependencies
uv sync
# Create finstg.db and load static data
uv run create_db.pyConfiguration
Copy the example environment file:
cp .env.example .envEdit
.envif you want to point at a different SQLite file (defaults tofinstg.dbin the repo root):
SQLITE_DB_PATH=finstg.dbCopy
.cursor/mcp.json.exampleto.cursor/mcp.jsonand update the path to your installation.
Running the Server
uv run peoplesoft_server.pyCursor IDE Integration
The MCP config (.cursor/mcp.json, copied from .cursor/mcp.json.example) should look like:
{
"mcpServers": {
"peoplesoft": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp_ps/",
"run",
"peoplesoft_server.py"
]
}
}
}Available Tools
Schema Introspection (2 tools)
Tool | Description |
| List tables in the local database, optionally filtered by name |
| Get table structure (columns, types, primary keys) |
Contracts & Billing Module (4 tools)
Tool | Description |
| List projects, filterable by business unit/status/type |
| Get a project plus its contract lines and bill plans |
| List contract detail lines with their bill plan info |
| Get bill plan details for a specific contract line |
Billing Analysis (2 tools)
Tool | Description |
| Check each project's contract line(s), bill plan, bill plan type, and effective statuses, to spot billing setup problems |
| Summarize undistributed cost-reimbursable billable transactions (sums, counts, date range) per project |
Direct Query (1 tool)
Tool | Description |
| Execute custom SQL queries against the local database |
Project Structure
peoplesoft-mcp/
├── peoplesoft_server.py # Main MCP server entry point
├── db.py # SQLite connection management
├── create_db.py # Creates finstg.db and loads data/*.csv
├── db_structure.txt # Schema definition source for create_db.py
├── data/ # Static CSV data loaded into finstg.db
│ ├── project.csv
│ ├── ca_detail.csv
│ ├── ca_bill_plan.csv
│ └── proj_resource.csv
├── finstg.db # Local SQLite database (generated)
├── tools/ # Semantic tool modules
│ ├── introspection.py # Schema discovery tools
│ ├── contracts.py # Contracts/billing tools
│ └── billing.py # Billing setup & cost-reimbursable analysis tools
├── tests/ # Test suite
│ └── test_contracts.py
└── pyproject.toml # Project configurationRunning Tests
uv run pytest tests/ -v -sExample Queries
"List all active projects for business unit UCD"
"What contract lines and bill plans belong to project 25B1111?"
"What's the bill plan status for contract FAKE4 line 2?"
"What tables and columns are in finstg.db?"
Development
Adding New Tools
Create a new module in
tools/or add to an existing moduleDefine async functions that use
db.execute_query()Add a
register_tools(mcp)functionImport and register in
peoplesoft_server.py
License
MIT
Changelog
v0.3.0 (2026-07-15)
Removed the legacy PeopleSoft HCM Oracle tool modules (
hr.py,payroll.py,benefits.py,performance.py,peopletools.py), their docs, their gated/skipped tests, and the Cursor agent/skill configs built around themRemoved the 4 MCP resources that served the now-deleted Oracle-schema documentation
Repurposed the repo as a standalone worked example of MCP server construction (schema introspection + semantic tools + direct-SQL escape hatch) over a local SQLite database
v0.2.x (2026-03-02 – earlier)
Replaced Oracle (
oracledb) backend with a local SQLite database (finstg.db)Rewrote schema introspection to use SQLite's own metadata (
sqlite_master,PRAGMA table_info)Added
tools/contracts.pywith semantic tools for the localPROJECT/CA_DETAIL/CA_BILL_PLANschema
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceExecute SQL queries, browse schemas, and analyze Oracle Database performance through an AI-compatible Model Context Protocol server.84MIT
- Flicense-qualityDmaintenanceA lightweight server for executing SQL queries and inspecting schemas across multiple MySQL database connections. It provides tools for managing persistent connection configurations and exploring database structures through natural language.
- Alicense-qualityDmaintenanceEnables extraction and querying of database schema metadata from PostgreSQL, Snowflake, SQL Server, BigQuery, and Oracle databases, saving results locally for analysis.MIT
- AlicenseAqualityCmaintenanceProvides read-only MySQL query execution, database/table browsing, and table structure inspection with SQL safety validation.517MIT
Related MCP Connectors
Reporting and queries over Astrea (Aurum), Brazilian legal-practice software: cases per client, cale
Run SOQL queries against your Salesforce org to retrieve records and insights. Explore objects, fi…
Run SOQL queries to explore and retrieve Salesforce data. Access accounts, contacts, opportunities…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Jcurrin27/peoplesoft-grants-mcp-demo'
If you have feedback or need assistance with the MCP directory API, please join our Discord server