origo-mcp
Provides AI agents with administrator-level control of the Origo Abroad platform via 56 MCP tools wrapping its REST API for students, CRM, loans, and more.
README
origo-mcp
An MCP (Model Context Protocol) server that gives an AI agent (Claude, or
any other MCP-compatible client) full administrator-level control of the
Origo Abroad platform, by wrapping origo_backend's /admin, /crm, and
/auth REST API as MCP tools.
It authenticates once as an admin/manager/staff account, caches the JWT, and automatically re-authenticates if the token expires. It runs locally over stdio, so it can be plugged straight into Claude Desktop, Cowork, or any other MCP client config.
What it covers
56 tools spanning: students (create/update/delete/notes & tasks),
staff assignments, applications, CRM leads & consultations, loans
(applications and product catalogue), scholarship applications, users &
roles, management hierarchy, student-deletion approvals, referral codes,
and the analytics/reporting endpoint. A generic admin_api_request
fallback tool covers anything not wrapped by a dedicated tool, so new
backend endpoints remain reachable without a server update.
Setup
pip install -r requirements.txt
cp .env.example .env # then fill in your values
Required environment variables (see .env.example):
ORIGO_API_BASE_URL— yourorigo_backenddeployment URL, e.g. the Render service URL (no trailing slash).- Either
ORIGO_ADMIN_EMAIL+ORIGO_ADMIN_PASSWORD(recommended — the server logs in and auto-refreshes on expiry), or a pre-issuedORIGO_ADMIN_TOKEN.
The account you authenticate with determines what the agent can see and
do: an admin account has unrestricted access; cluster_manager,
manager, and staff accounts are scoped to their reporting hierarchy,
same as when they log into the dashboard directly.
Run directly:
python origo_mcp_server.py
Connecting it to Claude Desktop / Cowork
Add to your MCP client's server config (e.g. claude_desktop_config.json):
{
"mcpServers": {
"origo-admin": {
"command": "python",
"args": ["/absolute/path/to/origo_mcp_server.py"],
"env": {
"ORIGO_API_BASE_URL": "https://your-backend.onrender.com",
"ORIGO_ADMIN_EMAIL": "you@origoabroad.com",
"ORIGO_ADMIN_PASSWORD": "your-password"
}
}
}
}
Safety notes
delete_student,delete_user, andapprove_deletion_requestare irreversible. The tool descriptions flag this so agents confirm intent before calling them, but there is no server-side undo.- The server only ever holds one bearer token in memory (not persisted to disk); credentials live in your environment/config, not in this repo.
- Every action is subject to the same role-based access control as the
dashboard itself — the MCP server does not bypass
origo_backend's permission checks, it just calls the same API a logged-in staff member would.
Extending it
Each tool is a thin wrapper: a Python function decorated with @mcp.tool()
that calls _call(method, path, params=..., json_body=...). To add
coverage for a new backend endpoint, either add a small dedicated wrapper
next to the related tools, or just call it via admin_api_request until
you do.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.