aum-mcp-server
Provides access to Canvas LMS courses with current grades and scores.
Provides GitHub profile information, contribution calendar, and repository details.
Allows reading inbox, searching emails, reading full messages, and sending emails.
Allows listing calendars, viewing upcoming events, and creating new events.
Allows searching messages, viewing recent chats, and sending iMessages via Messages.app.
Provides local LLM chat with automatic tool routing and model listing.
Allows viewing currently playing track, recent tracks, and top artists.
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., "@aum-mcp-servercheck my Gmail inbox for unread messages"
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.
aum-mcp-server
A personal MCP server split into focused servers — each loads only the tools it needs, keeping Claude's context lean.
Server | Tools |
| Web/HTTP, file system, shell, GitHub, Ollama |
| Persistent notes, Word (.docx), PowerPoint (.pptx) |
| Gmail, Google Calendar, Google Contacts, iMessage |
| Canvas LMS — courses, grades |
| Spotify |
| SLURM job management via SSH (any HPC cluster) |
Setup
1. Install dependencies
npm install2. Configure environment
cp .env.example .envFill in .env with your API keys. Each section in .env.example explains where to generate them.
Google (Gmail + Calendar + Contacts) requires an OAuth flow — after filling in GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET, run:
node --env-file=.env scripts/google-auth.mjsThis prints a GOOGLE_REFRESH_TOKEN — paste it into .env. One token covers all three Google services.
3. Build
npm run build4. Register with Claude
Add to ~/.mcp.json (create it if it doesn't exist). Replace /path/to/mcp-server with the absolute path to this repo:
{
"mcpServers": {
"aum-developer": {
"command": "node",
"args": [
"--env-file=/path/to/mcp-server/.env",
"/path/to/mcp-server/dist/developer.js"
]
},
"aum-notes": {
"command": "node",
"args": [
"--env-file=/path/to/mcp-server/.env",
"/path/to/mcp-server/dist/notes-server.js"
]
},
"aum-communication": {
"command": "node",
"args": [
"--env-file=/path/to/mcp-server/.env",
"/path/to/mcp-server/dist/communication.js"
]
},
"aum-canvas": {
"command": "node",
"args": [
"--env-file=/path/to/mcp-server/.env",
"/path/to/mcp-server/dist/canvas-server.js"
]
},
"aum-personal": {
"command": "node",
"args": [
"--env-file=/path/to/mcp-server/.env",
"/path/to/mcp-server/dist/personal.js"
]
},
"aum-slurm": {
"command": "node",
"args": [
"--env-file=/path/to/mcp-server/.env",
"/path/to/mcp-server/dist/slurm.js"
]
}
}
}You can register only the servers you need — each one is independent.
Related MCP server: codex-dobby-mcp
Tool reference
Tool | Description |
| Fetch any URL (GET/POST/PUT/PATCH/DELETE) |
| Check HTTP status without downloading body |
| Call JSON APIs with automatic serialization |
| Read file contents |
| Write content to a file |
| List files/dirs (optional recursive) |
| Hostname, platform, memory, architecture |
| Current date/time in any IANA timezone |
| Execute shell commands |
| Read environment variables |
| Contribution calendar and stats for the past N days |
| Profile info — repos, followers, top starred repos |
| List installed Ollama models ranked by tool-use capability |
| Agentic chat with best local model — routes to relevant tools automatically |
Tool | Description |
| Save a persistent note by key |
| Retrieve a note by key |
| List all saved note keys |
| Delete a note by key |
| Extract text from a .docx file |
| Create a .docx file from headings, paragraphs, and bullets |
| Extract slide text from a .pptx file |
| Create a .pptx file from a list of slides |
Tool | Description |
| List recent Gmail inbox messages |
| Search Gmail by query |
| Read a full email message |
| Send an email |
| List available Google Calendars |
| List upcoming calendar events |
| Get today's events |
| Create a new calendar event |
| Search Google Contacts by name or email |
| Get full details for a specific contact |
| List all contacts |
| Search messages by contact or content |
| Get most recent messages across all chats |
| Get messages from a specific conversation |
| List all iMessage contacts with last message |
| Send an iMessage via Messages.app |
Tool | Description |
| Active courses with current grades and scores |
Tool | Description |
| Currently playing track |
| 10 most recently played tracks |
| Top artists over the past ~6 months |
Tool | Description |
| Run a shell command on the HPC cluster via SSH |
| List SLURM jobs in the queue |
| List files in a remote directory |
| Read a file from the HPC cluster |
| Submit a SLURM batch job script |
| Check disk quota and storage usage |
Ollama (local LLM)
ollama_chat runs a fully local agentic loop — no cloud required.
Prerequisites: Ollama installed and running, with at least one model pulled.
ollama pull qwen2.5 # recommended — best tool use, fast
ollama pull llama3.2 # solid alternative
ollama serve # start if not running as a serviceollama_chat automatically selects a focused subset of tools based on keywords in your prompt. Destructive tools (write_file, run_command, gmail_send, etc.) are never auto-routed — pass them explicitly via the tools parameter.
Dashboard
A local web UI runs at http://localhost:4242 with server status, registered tools, API integration cards, and a notes viewer/editor.
npm run webDevelopment
npm run build # compile all servers to dist/
npm run dev:developer # run developer server with tsx
npm run dev:notes # run notes server with tsx
npm run dev:communication # run communication server with tsx
npm run dev:slurm # run slurm server with tsx
npm run web # local dashboardAlways run npm run build after making changes before restarting Claude.
Adding a new tool
Create
src/tools/mytool.ts:
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";
export function registerMyTools(server: McpServer) {
server.tool("my_tool", "What it does", {
param: z.string().describe("A parameter"),
}, async ({ param }) => {
return { content: [{ type: "text" as const, text: `result` }] };
});
}Import and call in the relevant entry point (
src/developer.ts,src/notes-server.ts, etc.).Add to the
TOOLSarray insrc/web.tsfor the dashboard.Run
npm run build.
Notes storage
Notes are persisted at ~/.aum-mcp/notes.json.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/aumsuthar/aum-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server