Teepy 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., "@Teepy MCP ServerShow me unpaid invoices"
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.
Teepy × Theopy — my contribution (sanitized extract)
This repository is a sanitized extract of Teepy, Kozea's proprietary pharmacy-management ERP (private repository, years of work by a full team, confidential to Kozea and its clients).
It exists to show, publicly and without breaching confidentiality, the code I personally wrote to connect Teepy to Theopy, an AI assistant I built as part of my RNCP39583 "Experte en Développement Logiciel" certification.
Every file and folder from the real Teepy repository is present here, at its real path, so the overall structure of the application is visible — but only the files I personally authored keep their real content. Everything else has been emptied (zero bytes) on purpose. This repo carries no git history from the original: only Teepy's own private repository has that.
Where my contribution sits in the architecture
┌─────────────────────────────────────────────────────-─────────────────┐
│ THEOPY (public, separate repo) │
│ AI assistant — Gemini / Ollama brain, chat UI, login │
└────────────────────────────────┬──────────────────────────────────────┘
│ MCP protocol over SSE
│ initialize → tools/list → tools/call
▼
┌──────────────────────────────────────────────────────────────────────┐
│ TEEPY (this repo — sanitized) │
│ │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ mcp_server.py ★ MINE │ │
│ │ FastMCP entrypoint - boots the MCP server on :5001 │ │
│ └────────────────────────────┬─────────────────────────────────┘ │
│ │ │
│ ┌────────────────────────────▼───────────────────────────────--─┐ │
│ │ mcp_tools/ ★ MINE │ │
│ │ core.py - identity resolution via MCP `meta`, │ │
│ │ requires_role() access control │ │
│ │ invoices.py - factures (administrator/manager/commercial) │ │
│ │ customers.py - clients (administrator/manager/commercial) │ │
│ │ plannings.py - plannings (administrator/manager/operator) │ │
│ │ sessions.py - sessions (+ contractor) │ │
│ │ reminders.py - relances (administrator/manager/commercial) │ │
│ └────────────────────────────┬───────────────────────────────-──┘ │
│ │ calls agent_* functions │
│ ┌────────────────────────────▼──────────────────────────────-───┐ │
│ │ teepy/routes/theopy/ ★ MINE │ │
│ │ base.py, customer.py, invoice.py, planning.py, │ │
│ │ reminder.py, session.py │ │
│ │ → agent-facing business logic, wrapping Teepy's existing │ │
│ │ repositories/models │ │
│ └────────────────────────────┬─────────────────────────────-────┘ │
│ │ │
│ ┌────────────────────────────▼─────────────────────────-────────┐ │
│ │ teepy/routes/theopy_auth.py ★ MINE │ │
│ │ POST /api/theopy/authenticate │ │
│ └────────────────────────────┬───────────────────────────────-──┘ │
│ │ queries through │
│ ┌────────────────────────────▼─────────────────────────────-────┐ │
│ │ teepy/models/, teepy/repositories/, teepy/services/, │ │
│ │ teepy/routes/ (rest), teepy/templates/, teepy/static/, ... │ │
│ │ ○ PRE-EXISTING TEEPY │ │
│ │ proprietary ERP - content redacted in this repo │ │
│ └────────────────────────────┬───────────────────────────────-──┘ │
│ │ │
│ ┌────────────────────────────▼────────────────────────────-─────┐ │
│ │ PostgreSQL (Teepy production database) │ │
│ └────────────────────────────────────────────────────────────--─┘ │
└────────────────────────────────────────────────────────────────--────┘★ MINE = full, real content, kept as-is.
○ PRE-EXISTING TEEPY = real file/folder structure preserved, content emptied.
Related MCP server: tebra-mcp-server
What's mine, in full
Path | What it is |
| FastMCP entrypoint for the MCP server |
| Role-based access control layer over every MCP tool |
| Agent-facing business logic (customers, invoices, plannings, reminders, sessions) |
|
|
| Tests for the MCP tools and agent-facing functions, run against real business logic and a real database |
| Tests for the authentication endpoint |
| Includes commands I added: |
| MCP server port ( |
| Additional seed rows I added (synthetic dev data only, not real customer data) for realistic testing |
| Dependency additions for the MCP integration |
teepy/__init__.py is intentionally emptied too, even though I added 2 lines
to it (registering the theopy_auth blueprint) - the file is overwhelmingly
pre-existing Teepy bootstrap code, not mine, so it follows the same rule as
everything else outside the list above.
Links
Theopy (the AI assistant, fully public): https://github.com/SajedehAdelia/Theopy
Teepy (the real repository, private - access on request): https://github.com/Kozea/teepy
This server cannot be deployed
Maintenance
Related MCP Connectors
Let AI agents query data and act across all your business apps via MCP.
Connect your business apps to your MCP compatible AI in 1 click
Hosted MCP server for Cliniko — patients, appointments, availability, and invoices for AI agents.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to interact with Odoo ERP to perform sales tasks such as searching clients and products, and creating and confirming quotations via the MCP protocol.52MIT
- AlicenseAqualityAmaintenanceMCP server for Tebra practice management that gives AI agents access to 45 tools for patients, appointments, billing, documents, and clinical data via SOAP and FHIR APIs.33476 npm1MIT
- AlicenseNot gradedqualityBmaintenanceMCP server that lets AI assistants query your Halaxy practice-management data—appointments, invoices, referrals, and practitioners—via natural language, exposing read-only tools for daily schedules, billing status, and session limits.GPL 3.0
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to manage doctor appointments by creating, finding, checking status, canceling, and rescheduling appointments through an MCP server that connects to an external appointment REST API.-