t4ea-mcp
MCP server that provides Teamcenter Gateway for Enterprise Applications (T4EA) API documentation to AI assistants. It enables AI coding tools like Claude, Cursor, and Windsurf to look up ITK functions, validate Tcl scripts, and navigate T4EA documentation accurately.
Why
AI assistants frequently hallucinate function names and parameters when writing Teamcenter/T4EA code. This MCP server gives them access to the actual API reference, a function allowlist, and a script linter — drastically reducing errors in generated Tcl/ITK code.
Installation
From PyPI
pip install t4ea-mcp
From source
git clone https://github.com/aldokruger/teamcenter-gateway-mcp.git
cd teamcenter-gateway-mcp
uv sync
Requirements: Python 3.10+
Quick Start
Run locally (stdio)
# Installed from PyPI
t4ea-mcp
# From source
uv run python -m t4ea_mcp
Run as HTTP server
t4ea-mcp --http --port 8000
Use the hosted version
A public instance is available at:
https://t4ea-mcp.fly.dev/mcp
Connecting to Your AI Client
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"t4ea": {
"command": "t4ea-mcp"
}
}
}
Or use the remote server:
{
"mcpServers": {
"t4ea": {
"url": "https://t4ea-mcp.fly.dev/mcp"
}
}
}
Claude Code
claude mcp add t4ea -- t4ea-mcp
Or remote:
claude mcp add t4ea --transport http https://t4ea-mcp.fly.dev/mcp
Cursor / Windsurf / VS Code
Add to your MCP settings (.cursor/mcp.json, etc.):
{
"mcpServers": {
"t4ea": {
"command": "t4ea-mcp"
}
}
}
Tools
The server provides 9 tools:
| Tool | Purpose |
|---|---|
resolve_topic |
Start here — routes natural language queries to the right docs |
search_docs |
Grep for exact strings across all documentation |
get_doc |
Read a specific documentation file (supports pagination) |
get_section |
Extract a section by markdown header |
list_docs |
List all available documentation files |
get_functions |
List valid T4EA/ITK functions by group |
validate_function |
Check if a function name exists in the allowlist |
get_manifest |
Get the LLM routing guide |
lint_script |
Lint Tcl/ITK scripts for errors and style issues |
Recommended Workflow
resolve_topic("create item revision")— find relevant docsget_functions("ITEM")— list valid ITEM functionsget_doc("modules/itk/item.md")— read the full referencevalidate_function("ITEM_create_item")— verify before usinglint_script(your_code)— validate the generated script
Linter Rules
The lint_script tool checks for:
| Rule | Severity | Description |
|---|---|---|
| E001 | Error | Missing package require for used namespaces |
| E002 | Error | Deprecated function usage |
| E004 | Error | Removed/unsupported function usage |
| E005 | Error | Function not found in the T4EA allowlist (likely hallucinated) |
| W001 | Warning | Missing ITK_ok check after ITK calls |
| W002 | Warning | Missing ITK::isITK_ok guard pattern |
Documentation Coverage
The server bundles comprehensive T4EA reference documentation:
- 42 ITK modules — AOM, BOM, ITEM, EPM, AM, POM, and more
- 23 utility modules — base64, SQL, SOAP, HTML/XML, encryption, etc.
- 100+ namespaces — pipeline, configuration, OAuth2, monitoring, pl4x, and more
- 7 class references — PipelineStep, StepParameter types, Function
- Function allowlist — JSON index of all valid T4EA/ITK function names
Deployment
Fly.io
fly deploy
The included Dockerfile and fly.toml are preconfigured for Fly.io deployment with auto-suspend and health checks.
Docker
docker build -t t4ea-mcp .
docker run -p 8080:8080 t4ea-mcp
Development
# Run in development
uv run python -m t4ea_mcp
# Run HTTP mode for testing
uv run python -m t4ea_mcp --http --port 8000
# Bump version
uvx bump-my-version bump patch
# Build and publish
uv build && uvx twine upload dist/*
License
MIT
Metadata
Release files for t4ea-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| t4ea_mcp-0.1.0.tar.gz | 382.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| t4ea_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 884.9 kB
Release files / t4ea_mcp-0.1.0.tar.gz
| Download URL | t4ea_mcp-0.1.0.tar.gz |
|---|---|
| Size | 382.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c1de598183b6347b422b740441b81ce0fc28a33e56c31e8027ec41b12fd118c9
|
|
BLAKE2b-256 checksum How to use checksums |
641324d30306d1758e6a89c7f0817162ec64d2a62ac6d533e361aa3213c42496
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Release files / t4ea_mcp-0.1.0-py3-none-any.whl
| Download URL | t4ea_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 502.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e88e3fee2b2c4fc7ef940a7ecb56221c145268a9c95eed9e47d9306f0b327560
|
|
BLAKE2b-256 checksum How to use checksums |
24646732ceedfe502cf5c0775d1ea49c910964db49e73fb3003132d940e9dbe6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Security for t4ea-mcp 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.