XCS221 Course Guide 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., "@XCS221 Course Guide MCP ServerWhat assignments are due this week?"
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.
XCS221 MCP Server Template
Template MCP server that helps AI agents answer common XCS221 course logistics questions from static in-repo data (no auth, no external APIs).
What this template answers
Out of the box, it is designed for questions such as:
When are assignments due?
Where should I be in lectures/assignments today?
Which git repository has setup or assignment code?
The server exposes both direct tools and a natural-language router tool.
Related MCP server: AI Book Agent MCP Server
Tech stack
Language: TypeScript (Node.js)
MCP SDK:
@modelcontextprotocol/sdkValidation:
zodTests:
vitest
TypeScript is a strong fit because the official MCP SDK for Node is mature and gives a clean typed API for resources + tools.
Folder structure
.
├── src
│ ├── data
│ │ └── courseData.ts # Static schedule/repo data (edit this each term)
│ ├── tools
│ │ └── courseTools.ts # Pure logic for deadlines, pacing, and routing
│ ├── server.ts # MCP server + tool/resource registration
│ └── index.ts # Stdio entrypoint
├── tests
│ └── courseTools.test.ts # Unit tests for tool logic
├── package.json
├── tsconfig.json
└── vitest.config.tsAvailable MCP capabilities
Resource
xcs221://course-data
Full static JSON data for term schedule, assignments, and repositories.
Tools
get_assignment_deadlinesInput:
referenceDate?(YYYY-MM-DD)includePast?(boolean)
Returns assignment due dates from static data.
get_today_progressInput:
referenceDate?(YYYY-MM-DD)
Returns pacing guidance (lecture focus + assignment focus) for that day.
get_course_repositoriesInput: none
Returns setup and assignment repository URLs.
answer_course_questionInput:
question(string)referenceDate?(YYYY-MM-DD)
Routes natural-language questions to the right static answer set.
Quick start
1) Install
npm install2) Run tests
npm test3) Start MCP server (stdio transport)
npm run devor build + run:
npm run build
npm startMCP client config example
Use stdio in your MCP client:
{
"mcpServers": {
"xcs221-course-guide": {
"command": "node",
"args": ["/absolute/path/to/repo/dist/index.js"]
}
}
}If running TypeScript directly in development:
{
"mcpServers": {
"xcs221-course-guide-dev": {
"command": "npx",
"args": ["tsx", "/absolute/path/to/repo/src/index.ts"]
}
}
}Customizing for your actual course term
Edit src/data/courseData.ts:
update
term,timezone, andcourseStartDatereplace assignment
dueDateandrepolinksupdate
pacingMilestonesdate ranges and topicsupdate
repositorieslist to your real setup/assignment repos
No auth changes are required unless you intentionally add external systems.
Testing
Current tests cover:
date validation
upcoming deadline selection
day-specific pacing guidance
natural-language intent routing
fallback behavior for unknown questions
Add tests in tests/ as you extend new tools or data fields.
This server cannot be deployed
Maintenance
Related MCP Connectors
Token-efficient search for coding agents over public and private documentation.
Docs Q&A: search 169 data and AI guides, fetch any page as markdown. Read-only, keyless.
Research-backed linting + generation for agent context files (CLAUDE.md, AGENTS.md, Cursor rules).
Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides tools for retrieving and processing documentation through vector search, enabling AI assistants to augment their responses with relevant documentation context.76 npm1MIT
- AlicenseNot gradedqualityDmaintenanceProvides AI assistants with intelligent access to ML textbook content for creating accurate, source-grounded documentation using local models for privacy and cost efficiency.2MIT
- AlicenseAqualityAmaintenanceEnables AI agents to search local Markdown documents using natural language, with automatic indexing and section-level retrieval.105 npm1MIT
- FlicenseAqualityAmaintenanceLets AI agents navigate documentation by section instead of reading files by brute force, reducing token usage and improving precision.641,405 PyPI203-