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.

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.

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/SajedehAdelia/Teepy-mcp-contribution'

If you have feedback or need assistance with the MCP directory API, please join our Discord server