Skip to main content
Glama
SajedehAdelia

Teepy MCP Server

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

mcp_server.py

FastMCP entrypoint for the MCP server

mcp_tools/ (6 files)

Role-based access control layer over every MCP tool

teepy/routes/theopy/ (6 files)

Agent-facing business logic (customers, invoices, plannings, reminders, sessions)

teepy/routes/theopy_auth.py

POST /api/theopy/authenticate - the endpoint Theopy's login calls

test/theopy/ (7 files)

Tests for the MCP tools and agent-facing functions, run against real business logic and a real database

test/test_theopy_auth.py

Tests for the authentication endpoint

Makefile

Includes commands I added: theopy-serve, mcp-inspect, install-db-test

docker-compose.yml

MCP server port (5001) and networking added for Theopy to reach Teepy

sql/dev_data.sql

Additional seed rows I added (synthetic dev data only, not real customer data) for realistic testing

requirements/, uv.lock

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.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables 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.
    5
    2
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP 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.
    33
    476 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP 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