Montessori MCP
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., "@Montessori MCPCheck my Onespot notifications for any school announcements."
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.
Montessori MCP
An MCP server that connects Claude to Onespot (The Montessori App, by Seabird Apps) and Transparent Classroom. Gives Claude access to school notifications, classroom feeds, posts, events, and TC account data — all scoped to the authenticated user's own data.
Installation (hosted)
The easiest way is the hosted server on Render — no npm, no config files.
In Claude, go to Settings → Integrations (Claude.ai) or Settings → Customize → Connectors (Claude desktop)
Add this URL:
https://montessori-mcp.onrender.com/mcpClaude will open a browser window with a Transparent Classroom login form
Sign in once — all future sessions are silent
Note: The free-tier Render instance spins down after inactivity. The first request after a cold start may take up to 60 seconds.
Related MCP server: io.github.thehesiod/psquare
Available Tools
Onespot / The Montessori App
Tool | Description |
| Your Onespot profile and detected app ID. |
| School-wide push notifications — closures, building updates, admin announcements. |
| All sections of the school app: feeds, chats, calendar, static pages. |
| Recent posts in a specific activity feed. Requires a |
| A specific post with all comments and author names. |
| Post a new message to an activity feed. |
| Comment on an existing post. |
| School calendar events. |
| Explore any Firebase RTDB path directly. Useful for debugging. |
Transparent Classroom
Tool | Description | Role required |
| Your TC profile: name, role, school ID. | Any |
| All children at the school. | Staff / Admin |
| All classrooms. | Staff / Admin |
| Lesson history for a child. | Staff / Admin |
| Teacher observations for a child. | Staff / Admin |
| TC calendar events. | Staff / Admin |
| Staff directory. | Staff / Admin |
| Progress/conference reports for a child. | Staff / Admin |
Note for parent accounts: TC's REST API does not grant parents access to school-wide data. Staff-only tools return
Forbidden. All parent-facing school data is available through theonespot_tools instead.
How it works
Authentication uses the MCP OAuth 2.1 flow. When you connect, Claude opens a Transparent Classroom login page in your browser. After you sign in, your TC API token and Firebase refresh token are encrypted (AES-256-GCM) and embedded in a signed JWT that Claude stores. The server validates that JWT on every request — no database lookup required. Your password is never stored.
Firebase ID tokens expire hourly; the server exchanges the stored refresh token for a fresh one on each request that uses Onespot tools.
Local development
1. Clone and install
git clone https://github.com/tgboyles/montessori-mcp
cd montessori-mcp
npm install2. Create .env
NODE_ENV=development
PORT=3000
JWT_SECRET=dev-secret-32-bytes-minimum-here!!
ENCRYPTION_KEY=0000000000000000000000000000000000000000000000000000000000000000
SERVER_URL=http://localhost:3000
TC_EMAIL=you@example.com
TC_PASSWORD=yourpasswordREDIS_URL is optional — when unset the server uses an in-memory store (fine for local dev on a single process).
3. Build and run
npm run build
node dist/index.jsIn dev mode with TC_EMAIL/TC_PASSWORD set, the server authenticates with TC on startup and prints a Bearer token to stderr:
[dev] Bearer token: eyJhbGci...Use that token directly in a REST client (Bruno, Insomnia, curl) to call POST http://localhost:3000/mcp without going through OAuth.
Testing the full OAuth flow locally
The OAuth flow requires a publicly reachable URL. Use ngrok:
ngrok http 3000Update .env with the ngrok URL:
SERVER_URL=https://abc123.ngrok-free.appRestart the server, then add https://abc123.ngrok-free.app/mcp as a Claude connector. The login page redirect and token exchange will all go through ngrok.
Run tests
npm test # all tests (unit + integration)
npm run test:unit # unit tests only (no credentials needed)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.
Related MCP Connectors
Connect Claude to your Platform7n workspaces — chat, links, and tasks. One-click OAuth.
Give Claude only the Google Drive files you choose. Every action logged.
Connect Claude to Fathom meeting recordings, transcripts, and summaries
Permissioned access to Outlook, OneDrive and Teams via the user's own Microsoft account
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceGives Claude read-only access to EasyCS Learning Firebase data, enabling queries about courses, rosters, grades, progress, activity, and integrity flags.
- AlicenseAqualityAmaintenanceEnables Claude to access ParentSquare school-parent communication platform, including feeds, calendar, conversations, and media files.486MIT
- FlicenseNot gradedqualityBmaintenanceConnects Claude to the Canvas LMS REST API, enabling natural language queries about courses, assignments, grades, deadlines, and announcements.1
- AlicenseBqualityBmaintenanceEnables Claude to interact with Canvas LMS, allowing natural language queries about courses, deadlines, grades, and feedback.29MIT
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/tgboyles/montessori-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server