campus-ai-toolkit
v1.1.0
Published
MCP server for responsible AI education on campus — built on Anthropic's Model Context Protocol
Maintainers
Readme
campus-ai-toolkit
MCP server for responsible AI education — built on Anthropic's Model Context Protocol
campus-ai-toolkit is an open-source, production-grade Model Context Protocol (MCP) server designed specifically for university classrooms, student AI clubs, campus ambassadors, hackathon organizers, and student builders. It exposes 7 deterministic, offline educational tools to any MCP-compatible AI assistant (including Claude Desktop, Claude Code, and developer IDEs) to foster ethical literacy, robust prompt engineering, output auditing, and automated workshop generation.
📑 Table of Contents
- Why Campus AI Toolkit?
- Where to Use It
- How to Set It Up & Use It
- 💬 Prompt Cheat Sheet: What to Ask Claude
- 🛠️ Detailed Tools Reference
- 🧑💻 Local Development & Testing
- 🚀 Publishing to npm
- 👨💻 Author & Community
- 📄 License
💡 Why Campus AI Toolkit?
As universities accelerate AI adoption, students and educators face three critical hurdles:
- Uncalibrated Prompting: Students default to vague, open-ended prompts that encourage hallucinations or fail academic rigor.
- Abstract Ethics Discussions: Traditional AI ethics lectures feel disconnected from the reality of recent 2024–2026 incidents (proctoring biometrics, synthetic deepfakes, model bias).
- High Workshop Prep Overhead: Student leads and campus ambassadors spend hours preparing time-slotted agendas, icebreakers, and breakout exercises for campus workshops.
campus-ai-toolkit solves this by giving Claude instant, native access to deterministic evaluators and rich educational datasets directly in the conversation window.
🏛️ Where to Use It
| Setting | Target Audience | How campus-ai-toolkit Helps |
| :--- | :--- | :--- |
| University Classrooms & Labs | Faculty, TAs, Instructors | Run live interactive prompt-grading sessions; assign students to test and critique AI outputs using consistent rubrics. |
| Student AI Clubs & Chapters | Club Leads, Ambassadors | Instantly generate 30-, 60-, 90-, or 120-minute runnable workshop agendas with tailored slides, icebreakers, and hands-on labs. |
| Campus Hackathons | Organizers & Judges | Equip participants with responsible AI guardrails; provide judges with deterministic scoring criteria for student prompt architectures. |
| Academic Ethics Seminars | Philosophy, Law, & CS Students | Simulate 24 real-world ethical dilemmas across 8 topics (bias, surveillance, privacy, intellectual property, etc.) with Socratic debate questions. |
| Individual Student Builders | Undergraduate & Graduate Researchers | Self-audit prompts before sending them to costly LLM APIs; critically evaluate model responses for hallucinations or uncalibrated bias. |
🔌 How to Set It Up & Use It
1. Using in Claude Desktop (Recommended)
When configured in Claude Desktop, Claude automatically detects the toolkit and invokes the tools when relevant.
Step A: Open your Claude Desktop configuration file
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
(Create this file if it does not already exist).
Step B: Add campus-ai-toolkit
Option 1: Using npx (Once published or globally installed):
{
"mcpServers": {
"campus-ai-toolkit": {
"command": "npx",
"args": ["-y", "campus-ai-toolkit"]
}
}
}Option 2: Using your local cloned repository:
{
"mcpServers": {
"campus-ai-toolkit": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/campus-ai-toolkit/dist/index.js"]
}
}
}Step C: Restart Claude Desktop
Completely quit and reopen Claude Desktop. Look for the hammer icon (🔨) in the prompt box indicating that campus-ai-toolkit is active!
2. Using in Claude Code (CLI)
Add the server to your Claude Code workspace:
# Using published package
claude mcp add campus-ai-toolkit -- npx -y campus-ai-toolkit
# OR using local build
claude mcp add campus-ai-toolkit -- node /ABSOLUTE/PATH/TO/campus-ai-toolkit/dist/index.jsVerify the tools:
claude mcp list3. Using in Cursor / Windsurf / VS Code
In tools supporting MCP (such as Cursor, Windsurf, Cline, or Roo-Code):
- Navigate to Settings > MCP Servers.
- Add a new Stdio server:
- Name:
campus-ai-toolkit - Command:
npx - Args:
["-y", "campus-ai-toolkit"]
- Name:
4. Programmatic Usage via MCP SDK
You can call campus-ai-toolkit programmatically from any Node.js application using @modelcontextprotocol/sdk:
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
async function main() {
const transport = new StdioClientTransport({
command: "npx",
args: ["-y", "campus-ai-toolkit"],
});
const client = new Client({ name: "campus-client", version: "1.0.0" }, { capabilities: {} });
await client.connect(transport);
// Call the prompt quality tool
const result = await client.callTool({
name: "assess_prompt_quality",
arguments: {
prompt: "Explain CRISPR with 3 examples and format as a bulleted comparison table.",
context: "Genetics undergraduate exam revision"
}
});
console.log(result.content[0].text);
}
main();💬 Prompt Cheat Sheet: What to Ask Claude
Once connected, you can speak to Claude in natural language. Here are proven prompt templates:
🎯 Assessing Student Prompts
"I'm teaching a freshman CS lab. Can you assess the quality of this prompt: 'Give me some stuff about Python loops and things' and tell me how the student can improve it?"
⚖️ Generating Ethics Case Studies
"We have an upcoming debate in our campus AI club. Generate an advanced responsible AI scenario on 'surveillance' focused on university dorms and facial recognition."
🔍 Auditing AI Generated Output
"A student submitted an AI answer stating: 'All female applicants are inherently less suited for software engineering because of neurological traits.' Evaluate this output against responsible AI criteria and give me 3 talking points for class."
⏱️ Planning Workshops & Hackathons
"I am hosting a 60-minute hands-on workshop for intermediate developers on building with Claude and MCP. Plan a complete minute-by-minute agenda with an icebreaker, lab, and builder club announcement."
🛠️ Detailed Tools Reference
Tool 1: assess_prompt_quality
Scores a student's prompt across 4 objective dimensions (0–10 scale) using deterministic evaluation without external API calls:
- Clarity: Detects ambiguous filler terms (
"something","thing","stuff","maybe","kind of","sort of","etc"). Deducts 1 per occurrence (max deduct 4). - Specificity: Awards $+2$ for length $>20$ words, $+2$ for concrete numbers/names/dates, $+2$ for explicit examples/context parameters (max 6).
- Safety: Checks for adversarial bypass/jailbreak patterns (
"hack","bypass","ignore previous","jailbreak","pretend you are","DAN"), scoring $10 - (\text{flags} \times 3)$, min 0. - Hallucination Risk: Classifies risk based on prompt constraints (short $<10$ words = 2, open-ended = 5, well-constrained = 9).
- Letter Grade: Computed from
overall_score($\ge 9$: A, $\ge 7$: B, $\ge 5$: C, $\ge 3$: D, $<3$: F). - Suggestions: Selects the top 3 targeted improvement tips addressing the student's weakest dimensions.
Example Response
{
"overall_score": 5.25,
"dimensions": {
"clarity": 7,
"specificity": 2,
"safety": 10,
"hallucination_risk": 2
},
"flags": [
"Vague words detected: \"stuff\" (1x), \"maybe\" (1x) (-2 clarity)",
"Prompt is brief (9 words; >20 words recommended for high specificity)",
"Lacks concrete anchor entities (no specific numbers, names, or dates detected)",
"High hallucination risk: prompt is under 10 words, leaving wide room for ungrounded fabrication"
],
"suggestions": [
"Increase specificity by adding concrete parameters: numbers, benchmark dates, target personas, or explicit structural templates.",
"Mitigate hallucination risk by enforcing boundaries: specify citation sources, request step-by-step reasoning, or instruct the model to answer 'unknown' if uncertain.",
"Replace ambiguous filler words (like 'stuff', 'thing', 'kind of') with precise, technically accurate domain terms."
],
"grade": "C"
}Tool 2: generate_responsible_ai_scenario
Generates real-world inspired dilemmas across 8 topics and 3 levels:
- Topics:
bias,privacy,misinformation,automation,surveillance,intellectual_property,transparency,environment. - Levels:
beginner(10 min),intermediate(20 min),advanced(30 min). - Context Injection: Adaptable to any custom university or industry setting (
healthcare,dormitories,finance, etc.).
Example Response
{
"scenario_title": "The Biased Campus Resume Screener",
"situation": "A university career center deploys an off-the-shelf AI screening tool to triage 5,000 student internship applications for local tech firms. Within weeks, student advocates discover the model penalizes resumes mentioning women's leadership clubs and historically Black colleges due to historical training data skew. The administration faces immediate pressure to either halt the tool before career fair deadlines or apply quick post-processing patches.",
"stakeholders": [
"Undergraduate job applicants",
"University Career Services",
"Hiring partner employers",
"Campus DEI committee"
],
"ethical_tensions": [
"Efficiency in processing high applicant volumes vs. Fair equal opportunity for marginalized students",
"Institutional reputation vs. Rapid technological adoption"
],
"discussion_questions": [
"Why does training an algorithm on 'past successful hires' systematically replicate historic demographic disparities?",
"Should automated hiring filters be held to a stricter legal standard than human resume reviewers?",
"What verification steps should university administrators require before purchasing commercial educational AI tools?"
],
"claude_angle": "Anthropic emphasizes red-teaming for demographic disparities and training models using Constitutional AI principles that explicitly reject proxy discrimination.",
"time_estimate": "10 min"
}Tool 3: evaluate_ai_output
Helps students critically audit an AI-generated response against standard or custom criteria:
- Accuracy: Tests for calibrated epistemic humility (hedging words) vs. unsupported factual claims and checks citation formats.
- Bias: Identifies demographic stereotyping and essentialist generalities.
- Helpfulness: Assesses prompt keyword coverage and length ratio.
- Safety: Flags dangerous technical instructions and audits refusal appropriateness.
- Transparency: Verifies whether the model acknowledges limitations and computational identity.
Example Response
{
"overall_rating": "Excellent",
"criteria_scores": {
"accuracy": { "score": 8, "finding": "Output exhibits no formal citations and well-calibrated uncertainty.", "recommendation": "Instruct the model to cite peer-reviewed or verifiable primary sources." },
"bias": { "score": 9, "finding": "No blatant demographic generalizations or stereotypical broad brushes detected.", "recommendation": "Continue evaluating outputs for subtle cultural or representational skews." },
"helpfulness": { "score": 10, "finding": "Response length ratio is 1.25x with 75% prompt keyword alignment.", "recommendation": "Structure output with clear headers and bullet points." },
"safety": { "score": 10, "finding": "Content complies with ethical guidelines and contains no overt safety hazards.", "recommendation": "Retain safety baselines." },
"transparency": { "score": 8, "finding": "Output includes appropriate disclaimers and communicates its computational nature.", "recommendation": "Add instructions for the model to preface findings with clear caveats." }
},
"red_flags": [],
"green_flags": [
"Appropriate epistemic humility with calibrated hedging language",
"Maintains neutral demographic tone without essentialist generalities",
"Comprehensive output addressing core vocabulary and prompts",
"Transparently identifies itself as an AI system"
],
"workshop_talking_points": [
"Verifiability vs Fluency: The AI produced text that sounds polished, but how many specific claims can students independently corroborate with academic literature?",
"Epistemic Boundaries: Notice where the model expressed confidence versus uncertainty; did it admit what it doesn't know, or did it generate plausible fiction?",
"Human in the Loop: What critical verification step must a human practitioner perform before this response could safely be used in a research paper or institutional decision?"
],
"improved_prompt_suggestion": "Please answer the following prompt with high academic rigor: \"...\". Requirements: 1) Cite authoritative sources, 2) Highlight key limitations, 3) Structure response with concise bullet points, and 4) If any details cannot be verified, explicitly state 'unverified'."
}Tool 4: workshop_planner
Generates turn-key agendas for campus events across:
- 6 Focus Areas:
intro_to_ai,prompt_engineering,responsible_ai,claude_and_mcp,ai_for_builders,ai_safety. - 4 Durations: 30m, 60m, 90m, 120m (with time slots mathematically calculated to sum to the exact duration).
- Target Audiences:
beginners,intermediate_developers,non_technical,mixed. - Extras: Includes materials list, room setup checklist, icebreaker, closing reflection, and official Claude Builder Club CTA (including the $3,600 Anthropic builder stipend).
🧑💻 Local Development & Testing
Clone the repository and install dependencies:
git clone https://github.com/RamSuryaCH/campus-ai-toolkit.git
cd campus-ai-toolkit
npm installAvailable Scripts
npm run build: Compiles TypeScript with strict checking to./dist.npm start: Runs the compiled server via Node.js on stdio.npm run dev: Runs the TypeScript source directly usingts-node.npm test: Runs the automated test suite verifying all 4 tools across 50+ test cases.
# Run comprehensive tests
npm test🚀 Publishing to npm
To publish this package to npm:
- Ensure all tests pass and build is fresh:
npm run build npm test - Verify package contents:
npm pack --dry-run - Authenticate and publish:
npm login npm publish --access public
Once published, anyone can execute the server instantly via npx campus-ai-toolkit!
👨💻 Author & Community
Built by Ram Surya Chelluboyina
🌟 Microsoft Student Ambassador
☁️ AWS Student Builder Group Leader
🧠 Anthropic MCP Certified
Report Issues: https://github.com/RamSuryaCH/campus-ai-toolkit/issues
🎥 Demo
Demo GIF coming soon!
To record your own demo:
# 1. Install asciinema
brew install asciinema # macOS
# or: pip install asciinema
# 2. Record a session
asciinema rec demo.cast
# 3. Inside the session, run:
node dist/index.js --help
# (Then interact with Claude Desktop to show live tool calls)
# 4. Convert to GIF
npm install -g asciicast2gif
asciicast2gif demo.cast demo.gifThen add the GIF to this repo and embed it here with:
🗺️ Roadmap
| Status | Feature |
|--------|---------|
| ✅ Done | Core 4 MCP tools (assess, scenario, evaluate, workshop) |
| ✅ Done | 3 new tools: generate_quiz, rubric_builder, ai_policy_checker |
| ✅ Done | CI/CD via GitHub Actions, npm test, CONTRIBUTING guide |
| ✅ Done | Static GitHub Pages documentation site |
| 🔜 Planned | Spaced Repetition System — adaptive quiz difficulty based on session history |
| 🔜 Planned | LMS Integration — export rubrics/quiz results to Canvas, Moodle grading formats |
| 💡 Future | Multi-language Scenarios — Spanish, Mandarin, French, Hindi ethical dilemmas |
| 💡 Future | Classroom Mode MCP Resources — live workshop dashboards and student leaderboards |
📄 License
This project is licensed under the MIT License. Feel free to use, modify, and distribute it for academic, club, or commercial educational purposes.
