teamcenter-mcp-server


Nameteamcenter-mcp-server JSON
Version 0.2.2 PyPI version JSON
download
home_pageNone
SummaryMCP server for Teamcenter Knowledge Base with Azure AD and cookie authentication
upload_time2025-07-23 20:48:14
maintainerNone
docs_urlNone
authorSiemens Digital Industries Software
requires_python>=3.10
licenseMIT
keywords mcp teamcenter siemens ai llm
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 0.42585s