Student Founder Governor MCP Server
Acts as a governance layer for student founders, enabling time capacity management, plan validation against hard constraints, and decision logging to prevent overcommitment and build an audit trail.
README
Student Founder Governor MCP Server
A Model Context Protocol (MCP) server designed to help student founders manage their time capacity, validate work plans, and track decision-making patterns. This server provides tools for capacity planning, constraint validation, historical analysis, and decision logging.
Why a Custom MCP Server?
While Notion AI can generate plans and suggest tasks, it cannot:
- Enforce hard constraints before writing to Notion
- Learn from historical execution failures
- Block actions that violate capacity limits
- Require explicit tradeoffs when overloaded
- Maintain a long-term decision audit trail
This MCP server acts as a governance layer, not a suggestion engine. It allows AI clients like Claude to reason before modifying Notion data, ensuring plans remain realistic and sustainable.
Demo Flow
This server is designed to support a live demo where:
- AI checks remaining capacity
- User attempts to add excessive work
- The system blocks the action
- Tradeoffs are negotiated
- Decisions are logged for learning
See the Notion + Claude demo walkthrough for the full experience.
Features
Capacity Management
- Track weekly time capacity and utilization
- Monitor planned vs. available hours
- Real-time status indicators (safe, strained, critical)
Plan Validation
- Validate plans against hard time constraints
- Enforce daily deep work limits
- Prevent overcommitment with pre-flight checks
Historical Analytics
- Track 4-week completion rates
- Monitor task overrun patterns
- Identify slip patterns by weekday
- Surface risk flags automatically
Decision Logging
- Record planning decisions and overrides
- Track predicted risks
- Build an audit trail for future analysis
Installation
npm install
Build
npm run build
# or
npx tsc
Usage
This MCP server is designed to be used with MCP-compatible clients like Claude Desktop or other AI assistants that support the Model Context Protocol.
Configuration
Add this server to your MCP client configuration:
{
"mcpServers": {
"student-founder-governor": {
"command": "node",
"args": ["/path/to/mcp-server/dist/index.js"]
}
}
}
State Management
The server maintains a sample state in dist/store/state.json with the following structure:
{
"capacity": {
"week": "2024-W51",
"maxHours": 40,
"plannedHours": 0,
"deepWorkCapPerDay": 4
},
"history": {
"completionRate4w": 0.75,
"avgOverrunRatio": 1.2,
"slipByWeekday": {
"Monday": 0.5,
"Tuesday": 0.3
}
},
"decisions": []
}
Note: This file-based state store is used for demonstration purposes. In a production setup, this could be replaced with Notion-backed storage or an external database.
Available Tools
get_capacity_status
Returns current capacity metrics and utilization status.
Input: None
Output:
{
"week": "2024-W51",
"max_hours": 40,
"planned_hours": 28,
"remaining_hours": 12,
"utilization_ratio": 0.7,
"status": "strained"
}
Status Levels:
safe: < 70% utilizationstrained: 70-85% utilizationcritical: > 85% utilization
validate_plan
Validates a proposed plan against hard constraints.
Input:
{
"planned_tasks": [
{
"id": "task-1",
"hours": 5,
"day": "Monday",
"type": "deep"
},
{
"id": "task-2",
"hours": 3,
"day": "Tuesday",
"type": "shallow"
}
]
}
Output (Success):
{
"ok": true
}
Output (Violations):
{
"ok": false,
"violations": [
{
"type": "HARD_CAPACITY",
"message": "Plan exceeds remaining capacity by 5 hours"
},
{
"type": "DAILY_DEEP_WORK",
"message": "Deep work exceeds daily cap on Monday"
}
]
}
Task Types:
deep: Deep work requiring focused attentionshallow: Shallow work (admin, email, meetings)
get_historical_summary
Returns historical execution patterns and risk analysis.
Input: None
Output:
{
"completion_rate_4w": 0.75,
"avg_overrun_ratio": 1.2,
"slip_by_weekday": {
"Monday": 0.5,
"Tuesday": 0.3,
"Wednesday": 0.1
},
"risk_flags": [
"LOW_COMPLETION_RATE",
"CONSISTENT_UNDERESTIMATION"
]
}
Risk Flags:
LOW_COMPLETION_RATE: Completion rate < 70%CONSISTENT_UNDERESTIMATION: Average overrun ratio > 1.3
log_decision
Logs a planning or override decision for future analysis.
Input:
{
"decision_type": "OVERRIDE_CAPACITY",
"reason": "Critical deadline for investor meeting",
"predicted_risk": "HIGH"
}
Output:
{
"ok": true
}
The decision is logged with a unique ID and timestamp for future reference.
Use Cases
1. Weekly Planning
AI: Let me check your capacity first...
→ get_capacity_status()
AI: You have 12 hours remaining. Let's validate this plan...
→ validate_plan({ planned_tasks: [...] })
AI: Plan looks good! Logging this decision...
→ log_decision({ decision_type: "WEEKLY_PLAN", reason: "..." })
2. Emergency Override
AI: I see you want to add a 10-hour task, but you only have 5 hours left.
→ validate_plan() → violations detected
User: I need to do this anyway, it's critical.
AI: Understood. Logging this override with high risk...
→ log_decision({
decision_type: "OVERRIDE_CAPACITY",
reason: "Critical investor deadline",
predicted_risk: "HIGH"
})
3. Historical Analysis
AI: Let me review your execution patterns...
→ get_historical_summary()
AI: I notice you have a 75% completion rate and tend to slip on Mondays.
This suggests you might be overestimating Monday capacity.
Development
Project Structure
mcp-server/
├── src/
│ ├── index.ts # Main MCP server setup
│ ├── store/
│ │ ├── state.ts # Type definitions
│ │ └── persistence.ts # State load/save
│ └── tools/
│ ├── capacity.ts # Capacity status tool
│ ├── validation.ts # Plan validation tool
│ ├── history.ts # Historical analysis tool
│ └── decisions.ts # Decision logging tool
├── dist/ # Compiled JavaScript
├── package.json
└── tsconfig.json
Tech Stack
- Runtime: Node.js
- Language: TypeScript
- MCP SDK: @modelcontextprotocol/sdk v1.25.1
- Validation: Zod v4.2.1
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.