# Teamcenter MCP Server
Universal MCP server for integrating AI assistants with Teamcenter Knowledge Base APIs with Azure AD authentication support.
📦 **Live on PyPI:** https://pypi.org/project/teamcenter-mcp-server/
## ✨ What's New in v0.2.0
- 🔐 **Azure AD Authentication** - Connect to real Teamcenter APIs
- 🔄 **Hybrid Mode** - Seamless switching between localhost mock and production
- 🌍 **Environment Variables** - Configure via `TEAMCENTER_API_HOST`
- 🛡️ **Secure** - Uses cached Azure AD cookies, no secrets in code
📋 **[Project Status & Technical Analysis →](PROGRESS.md)**
## Quick Start (Just Copy & Paste)
### 🚀 Production Mode (Azure AD)
Add to `~/.continue/config.json`:
```json
{
"experimental": {
"modelContextProtocolServers": [{
"transport": {
"type": "stdio",
"command": "uvx",
"args": ["teamcenter-mcp-server@0.2.0"],
"env": {
"TEAMCENTER_API_HOST": "https://codesentinel.azurewebsites.net",
"CODESESS_COOKIE": "<your-codesess-cookie>",
"AZURE_CLIENT_ID": "<your-azure-client-id>",
"AZURE_TENANT_ID": "<your-azure-tenant-id>"
}
}
}]
}
}
```
### 🔧 Development Mode (Localhost Mock)
Add to `~/.continue/config.json`:
```json
{
"experimental": {
"modelContextProtocolServers": [{
"transport": {
"type": "stdio",
"command": "uvx",
"args": ["teamcenter-mcp-server-test@0.1.2"]
}
}]
}
}
```
### VS Code (Production)
> **Note:** VSCode MCP integration is currently not working within Siemens intranet environments. This configuration is on hold pending resolution of corporate network restrictions.
Add to `.vscode/mcp.json`:
```json
{
"servers": {
"teamcenter": {
"type": "stdio",
"command": "uvx",
"args": ["teamcenter-mcp-server@0.2.0"],
"env": {
"TEAMCENTER_API_HOST": "https://codesentinel.azurewebsites.net"
}
}
}
}
```
### JetBrains IDEs (Production)
Add to `~/.mcp.json`:
```json
{
"mcpServers": {
"teamcenter": {
"command": "uvx",
"args": ["teamcenter-mcp-server@0.2.0"],
"env": {
"TEAMCENTER_API_HOST": "https://codesentinel.azurewebsites.net"
}
}
}
}
```
## 🔐 Azure AD Authentication Setup
### Prerequisites
1. **Authenticate first** using the working Python client:
```bash
# Run this once to cache Azure AD credentials
python /path/to/easy_auth_client.py ask "test"
```
2. **Verify authentication** works:
```bash
# Check for cached cookie
ls ~/.teamcenter_easy_auth_cache.json
```
### Environment Variables
- `TEAMCENTER_API_HOST`: API endpoint URL
- Production: `https://codesentinel.azurewebsites.net`
- Development: `http://localhost:8000` (default)
## 📦 Version History
- **v0.2.0** (Latest) - Azure AD authentication + hybrid mode
- **v0.1.2** - Azure AD authentication + hybrid mode
- **v0.1.1** - Localhost mock only (legacy)
## Usage
**→ [See USAGE.md for copy & paste examples](USAGE.md) ←**
Quick examples:
- **VS Code**: `@workspace get Teamcenter API documentation for part creation`
- **Continue.dev**: `@MCP search for PLM workflow integration documentation`
## Production Setup
Replace `http://localhost:8000` with your real Teamcenter API:
```json
"args": ["teamcenter-mcp-server", "--base-url", "https://teamcenter.yourcompany.com"]
```
## Testing
### Quick Test
```bash
uvx teamcenter-mcp-server --version
```
### Demo/Development Setup
Start mock API server:
```bash
git clone https://github.com/your-repo/teamcenter-mcp
cd teamcenter-mcp
uv run uvicorn main:app --reload
```
Server runs on `http://localhost:8000` - use this URL in configs above.
---
## Development (Advanced)
<details>
<summary>Click for development setup</summary>
### Installation
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```
### Build Package
```bash
uv build
```
### Run Tests
```bash
uv run pytest tests/ -v
```
### Publishing to PyPI
**→ [See DEVELOPER.md for release instructions](DEVELOPER.md) ←**
### Files Overview
- `auth_mcp_stdio_v2.py`: Main MCP server with optimized imports
- `main.py`: Mock API server for development
- `pyproject.toml`: Package configuration
</details>
Raw data
{
"_id": null,
"home_page": null,
"name": "teamcenter-mcp-server",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "mcp, teamcenter, siemens, ai, llm",
"author": "Siemens Digital Industries Software",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/be/81/914f5e61b605a49ce440bb69454ce5de348750bc97a6ad3052cdee01992a/teamcenter_mcp_server-0.2.2.tar.gz",
"platform": null,
"description": "# Teamcenter MCP Server\n\nUniversal MCP server for integrating AI assistants with Teamcenter Knowledge Base APIs with Azure AD authentication support.\n\n\ud83d\udce6 **Live on PyPI:** https://pypi.org/project/teamcenter-mcp-server/\n\n## \u2728 What's New in v0.2.0\n- \ud83d\udd10 **Azure AD Authentication** - Connect to real Teamcenter APIs\n- \ud83d\udd04 **Hybrid Mode** - Seamless switching between localhost mock and production\n- \ud83c\udf0d **Environment Variables** - Configure via `TEAMCENTER_API_HOST`\n- \ud83d\udee1\ufe0f **Secure** - Uses cached Azure AD cookies, no secrets in code\n\n\ud83d\udccb **[Project Status & Technical Analysis \u2192](PROGRESS.md)**\n\n## Quick Start (Just Copy & Paste)\n\n### \ud83d\ude80 Production Mode (Azure AD)\nAdd to `~/.continue/config.json`:\n```json\n{\n \"experimental\": {\n \"modelContextProtocolServers\": [{\n \"transport\": {\n \"type\": \"stdio\",\n \"command\": \"uvx\",\n \"args\": [\"teamcenter-mcp-server@0.2.0\"],\n \"env\": {\n \"TEAMCENTER_API_HOST\": \"https://codesentinel.azurewebsites.net\",\n \"CODESESS_COOKIE\": \"<your-codesess-cookie>\",\n \"AZURE_CLIENT_ID\": \"<your-azure-client-id>\",\n \"AZURE_TENANT_ID\": \"<your-azure-tenant-id>\"\n }\n }\n }]\n }\n}\n```\n\n### \ud83d\udd27 Development Mode (Localhost Mock)\nAdd to `~/.continue/config.json`:\n```json\n{\n \"experimental\": {\n \"modelContextProtocolServers\": [{\n \"transport\": {\n \"type\": \"stdio\",\n \"command\": \"uvx\",\n \"args\": [\"teamcenter-mcp-server-test@0.1.2\"]\n }\n }]\n }\n}\n```\n\n### VS Code (Production)\n\n> **Note:** VSCode MCP integration is currently not working within Siemens intranet environments. This configuration is on hold pending resolution of corporate network restrictions.\n\nAdd to `.vscode/mcp.json`:\n```json\n{\n \"servers\": {\n \"teamcenter\": {\n \"type\": \"stdio\",\n \"command\": \"uvx\",\n \"args\": [\"teamcenter-mcp-server@0.2.0\"],\n \"env\": {\n \"TEAMCENTER_API_HOST\": \"https://codesentinel.azurewebsites.net\"\n }\n }\n }\n}\n```\n\n### JetBrains IDEs (Production)\nAdd to `~/.mcp.json`:\n```json\n{\n \"mcpServers\": {\n \"teamcenter\": {\n \"command\": \"uvx\",\n \"args\": [\"teamcenter-mcp-server@0.2.0\"],\n \"env\": {\n \"TEAMCENTER_API_HOST\": \"https://codesentinel.azurewebsites.net\"\n }\n }\n }\n}\n```\n\n## \ud83d\udd10 Azure AD Authentication Setup\n\n### Prerequisites\n1. **Authenticate first** using the working Python client:\n ```bash\n # Run this once to cache Azure AD credentials\n python /path/to/easy_auth_client.py ask \"test\"\n ```\n\n2. **Verify authentication** works:\n ```bash\n # Check for cached cookie\n ls ~/.teamcenter_easy_auth_cache.json\n ```\n\n### Environment Variables\n- `TEAMCENTER_API_HOST`: API endpoint URL\n - Production: `https://codesentinel.azurewebsites.net`\n - Development: `http://localhost:8000` (default)\n\n## \ud83d\udce6 Version History\n- **v0.2.0** (Latest) - Azure AD authentication + hybrid mode\n- **v0.1.2** - Azure AD authentication + hybrid mode\n- **v0.1.1** - Localhost mock only (legacy)\n\n## Usage\n\n**\u2192 [See USAGE.md for copy & paste examples](USAGE.md) \u2190**\n\nQuick examples:\n- **VS Code**: `@workspace get Teamcenter API documentation for part creation`\n- **Continue.dev**: `@MCP search for PLM workflow integration documentation`\n\n## Production Setup\n\nReplace `http://localhost:8000` with your real Teamcenter API:\n```json\n\"args\": [\"teamcenter-mcp-server\", \"--base-url\", \"https://teamcenter.yourcompany.com\"]\n```\n\n## Testing\n\n### Quick Test\n```bash\nuvx teamcenter-mcp-server --version\n```\n\n### Demo/Development Setup\n\nStart mock API server:\n```bash\ngit clone https://github.com/your-repo/teamcenter-mcp\ncd teamcenter-mcp\nuv run uvicorn main:app --reload\n```\n\nServer runs on `http://localhost:8000` - use this URL in configs above.\n\n---\n\n## Development (Advanced)\n\n<details>\n<summary>Click for development setup</summary>\n\n### Installation\n```bash\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n```\n\n### Build Package\n```bash\nuv build\n```\n\n### Run Tests\n```bash\nuv run pytest tests/ -v\n```\n\n### Publishing to PyPI\n**\u2192 [See DEVELOPER.md for release instructions](DEVELOPER.md) \u2190**\n\n### Files Overview\n- `auth_mcp_stdio_v2.py`: Main MCP server with optimized imports\n- `main.py`: Mock API server for development\n- `pyproject.toml`: Package configuration\n\n</details>\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "MCP server for Teamcenter Knowledge Base with Azure AD and cookie authentication",
"version": "0.2.2",
"project_urls": {
"Bug Reports": "https://github.com/siemens/teamcenter-mcp-server/issues",
"Documentation": "https://github.com/siemens/teamcenter-mcp-server#readme",
"Homepage": "https://github.com/siemens/teamcenter-mcp-server"
},
"split_keywords": [
"mcp",
" teamcenter",
" siemens",
" ai",
" llm"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "e4457dcc6a132fef83d20c65dd8d773c67d4755d652c592cb9aad05abe4dd3fe",
"md5": "fb172945ea8244ea11ade425a679f072",
"sha256": "b0d4fcbbd729fd86ad562daba55c2e848d8cc9e9f282561f38e168f87a568d27"
},
"downloads": -1,
"filename": "teamcenter_mcp_server-0.2.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fb172945ea8244ea11ade425a679f072",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 13656,
"upload_time": "2025-07-23T20:48:13",
"upload_time_iso_8601": "2025-07-23T20:48:13.571114Z",
"url": "https://files.pythonhosted.org/packages/e4/45/7dcc6a132fef83d20c65dd8d773c67d4755d652c592cb9aad05abe4dd3fe/teamcenter_mcp_server-0.2.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "be81914f5e61b605a49ce440bb69454ce5de348750bc97a6ad3052cdee01992a",
"md5": "cc8a98620821391ce009a59d19e3e9b1",
"sha256": "28a1670b40f6987e05d5c7bf1b3ad7c100b91b023106f722db59c4a630c71788"
},
"downloads": -1,
"filename": "teamcenter_mcp_server-0.2.2.tar.gz",
"has_sig": false,
"md5_digest": "cc8a98620821391ce009a59d19e3e9b1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 15346,
"upload_time": "2025-07-23T20:48:14",
"upload_time_iso_8601": "2025-07-23T20:48:14.345452Z",
"url": "https://files.pythonhosted.org/packages/be/81/914f5e61b605a49ce440bb69454ce5de348750bc97a6ad3052cdee01992a/teamcenter_mcp_server-0.2.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-23 20:48:14",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "siemens",
"github_project": "teamcenter-mcp-server",
"github_not_found": true,
"lcname": "teamcenter-mcp-server"
}