Montessori MCP
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., "@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: Canvas MCP
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 deployed
Maintenance
Related MCP Connectors
- platform7nOAuthtech.p7n
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.
GA4, Google Ads and Search Console in Claude. Read-only OAuth, multi-account for agencies.
Multiple Google accounts (Gmail, Calendar, Drive, Contacts, Tasks) in one Claude connector.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables Claude to access ParentSquare school-parent communication platform, including feeds, calendar, conversations, and media files.4827 PyPI9MIT
- AlicenseBqualityCmaintenanceEnables Claude to interact with Canvas LMS, allowing natural language queries about courses, deadlines, grades, and feedback.29MIT
- AlicenseAqualityCmaintenanceGives Claude access to your Skool community, enabling reading and writing posts, comments, members, classroom content, and DMs using your own login.13MIT
- FlicenseAqualityCmaintenanceEnables Claude to read and write Google Classroom data, including courses, coursework, materials, announcements, rosters, submissions, and Drive attachment contents.15-