Siemens MCP Server (SDK)
Siemens search tools and resources via MCP protocol using official TypeScript SDK
Target group: this guide primarily targets AI agents, developers, and system integrators working with the Model Context Protocol (MCP). If you're running another setup, please abstract the generic information provided - and feel free to send us a merge request with your improvements for this guide as your first exercise on code.siemens.com. :-)
Overview
Purpose
Provide Siemens search capabilities to AI agents via MCP protocol using official SDK
Interaction Style
tool-calling
Statistics
- 4 active plugins
- 8 available tools
- llm, developer, agent target audience
AI Agent Guidance
Provide enterprise-grade search capabilities for AI agents to access Siemens product information, documentation, and technical resources using the official MCP TypeScript SDK
Interaction Tone: professional
Requires Confirmation: Yes
Fallback Behavior: ask user for clarification
Authentication
๐ข Public Access (No Authentication Required)
The following plugins are available without authentication:
- siemens-assets - 1 tool
- siemens-developer-portal - 3 tools
- siemens-search - 3 tools
- siemens-webcontent - 1 tool
Available Tools
Test all MCP tools interactively below. Enter parameters and see real-time results with syntax highlighting.
๐ Table of Contents
Jump directly to any tool or plugin section with shareable links:
siemens-assets ๐ข
siemens_assets
Unified asset search with keyword-based discovery across all Siemens collections
Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
query |
string | โ | Search query for assets |
collection |
string | โ | Collection to search in |
assetType |
string | โ | Type of assets to search for |
maxResults |
string | โ | Maximum number of results to return |
language |
string | โ | Language code (e.g., EN, DE) |
Example Usage
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "siemens_assets",
"arguments": {
"query": "example search"
}
}
}
๐งช Interactive Testing
Fill in the parameters below and click execute to test this tool with real MCP requests.
siemens-developer-portal ๐ข
siemens_developer_search
Search across all Siemens developer documentation
Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
query |
string | โ | Search query |
limit |
string | โ | Maximum number of results |
includeContent |
string | โ | Include content snippets |
Example Usage
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "siemens_developer_search",
"arguments": {
"query": "example search"
}
}
}
๐งช Interactive Testing
Fill in the parameters below and click execute to test this tool with real MCP requests.
siemens_developer_discover
Discover Siemens developer content by topic and product area
Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
topic |
string | โ | Topic to discover |
productArea |
string | โ | Product area to focus on |
contentType |
string | โ | Type of content |
limit |
string | โ | Maximum number of results |
Example Usage
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "siemens_developer_discover",
"arguments": {
"query": "example search"
}
}
}
๐งช Interactive Testing
Fill in the parameters below and click execute to test this tool with real MCP requests.
siemens_developer_reference
Find specific API reference documentation
Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
apiName |
string | โ | Name of the API |
endpoint |
string | โ | Specific endpoint |
includeExamples |
string | โ | Include code examples |
Example Usage
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "siemens_developer_reference",
"arguments": {
"query": "example search"
}
}
}
๐งช Interactive Testing
Fill in the parameters below and click execute to test this tool with real MCP requests.
siemens-search ๐ข
siemens_aiSearch
Natural language search with AI-powered summarization and intelligent content discovery
Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
query |
string | โ | Natural language search query |
language |
string | โ | Content language (default: EN) |
region |
string | โ | Geographic focus (default: GLOBAL) |
summaryLevel |
string | โ | AI summary detail level (default: medium) |
maxResults |
string | โ | Maximum results to return (default: 15) |
Example Usage
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "siemens_aiSearch",
"arguments": {
"query": "example search"
}
}
}
๐งช Interactive Testing
Fill in the parameters below and click execute to test this tool with real MCP requests.
siemens_productSearch
Specialized search for Siemens products, solutions, and technologies with technical specifications
Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
query |
string | โ | Product or solution search query |
industry |
string | โ | Target industry focus |
region |
string | โ | Regional availability focus (default: GLOBAL) |
includeSpecifications |
string | โ | Include technical specifications (default: true) |
includeCompatibility |
string | โ | Include compatibility information (default: false) |
maxResults |
string | โ | Maximum results to return (default: 12) |
Example Usage
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "siemens_productSearch",
"arguments": {
"query": "example search"
}
}
}
๐งช Interactive Testing
Fill in the parameters below and click execute to test this tool with real MCP requests.
siemens_search
Comprehensive search combining AI insights, content, and products
Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
query |
string | โ | Search query |
Example Usage
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "siemens_search",
"arguments": {
"query": "example search"
}
}
}
๐งช Interactive Testing
Fill in the parameters below and click execute to test this tool with real MCP requests.
siemens-webcontent ๐ข
siemens_get_web_content
Fetch and convert Siemens web content to clean markdown format using real browser automation
Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
url |
string | โ | URL to fetch and convert to markdown |
Example Usage
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "siemens_get_web_content",
"arguments": {
"query": "example search"
}
}
}
๐งช Interactive Testing
Fill in the parameters below and click execute to test this tool with real MCP requests.
MCP Client Setup
Claude Desktop
Add this server to your Claude Desktop configuration:
{
"mcpServers": {
"siemens": {
"command": "curl",
"args": [
"-X", "POST",
"-H", "Content-Type: application/json",
"https://mcp.siemens.com/mcp"
]
}
}
}
GitHub Copilot
Add this server to your mcp.json configuration file:
{
"servers": {
"siemens": {
"url": "https://mcp.siemens.com/mcp",
"type": "http"
}
}
}
Direct HTTP Access
Connect directly via HTTP POST requests:
POST https://mcp.siemens.com/mcp
Content-Type: application/json
MCP-Protocol-Version: 2025-06-18
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-06-18",
"capabilities": {},
"clientInfo": {
"name": "your-client",
"version": "1.0.0"
}
}
}
Auto-Discovery
This server supports LLMFeed auto-discovery:
- Manifest - Machine-readable capabilities
- Capabilities - Detailed capability list
- Public Key - For signature verification
A2A Integration
This server implements the Agent2Agent (A2A) Protocol v0.2.9, providing seamless integration between AI agents through standardized JSON-RPC 2.0 communication. The A2A bridge enables direct agent-to-agent task delegation and skill sharing.
๐ Overview
A2A Protocol Bridge: Converts MCP tools to A2A-compatible skills for agent-to-agent communication.
Implementation Status: Phase 1 & 2 complete (~50% overall compliance)
Core Features: Agent discovery, task management, JSON-RPC 2.0 protocol, enterprise authentication
๐ Agent Discovery
Agent Card Endpoints:
- GET /agent.json - Main agent card
- GET /.well-known/agent.json - Well-known discovery
- GET /a2a/agent - A2A-specific endpoint
Each endpoint returns agent capabilities, available skills, and contact information.
๐ก Task Management
JSON-RPC 2.0 Endpoints: Full protocol compliance with message/send, tasks/get, tasks/list methods
Task Lifecycle: Creation, execution, monitoring, and completion tracking
RESTful API: GET /tasks, POST /a2a for streamlined task management
๐ Authentication
A2A endpoints support enterprise-grade authentication:
- OAuth2 Bearer Tokens: Authorization: Bearer <token>
- Scope-based Access: Granular permission control for agent interactions
- Enterprise Integration: Compatible with existing corporate authentication systems
Authentication Example
curl -X POST https://mcp.siemens.com/a2a \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-oauth2-token" \
-d '{
"jsonrpc": "2.0",
"method": "message/send",
"params": {
"to": "target-agent-id",
"message": "Execute skill: siemens_search",
"skill_params": {"query": "automation systems"}
},
"id": 1
}'
๐ ๏ธ Available Skills
Dynamic MCP tool mapping - 8 skills available from 4 plugins:
Assets
Plugin: siemens-assets
Unified asset search with keyword-based discovery across all Siemens collections
siemens_assets
Developer Search
Plugin: siemens-developer-portal
Search across all Siemens developer documentation
siemens_developer_search
Developer Discover
Plugin: siemens-developer-portal
Discover Siemens developer content by topic and product area
siemens_developer_discover
Developer Reference
Plugin: siemens-developer-portal
Find specific API reference documentation
siemens_developer_reference
Ai Search
Plugin: siemens-search
Natural language search with AI-powered summarization and intelligent content discovery
siemens_aiSearch
Product Search
Plugin: siemens-search
Specialized search for Siemens products, solutions, and technologies with technical specifications
siemens_productSearch
... and 2 more skills available via A2A protocol
๐ป Code Examples
Agent Discovery
# Discover agent capabilities
curl https://mcp.siemens.com/agent.json
# Response includes available skills and contact info
{
"name": "Siemens MCP Server",
"description": "Enterprise AI agent with Siemens ecosystem integration",
"skills": ["siemens_assets", "siemens_developer_search", "siemens_developer_discover"],
"contact": {
"protocol": "a2a",
"endpoint": "https://mcp.siemens.com/a2a"
}
}
Task Delegation
# Delegate a search task to this agent
curl -X POST https://mcp.siemens.com/a2a \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "message/send",
"params": {
"to": "siemens-mcp-server",
"message": "Please search for automation documentation",
"skill": "siemens_search",
"skill_params": {
"query": "PLC programming guides"
}
},
"id": 1
}'
# Response with task ID for monitoring
{
"jsonrpc": "2.0",
"result": {
"task_id": "task-abc123",
"status": "accepted",
"estimated_completion": "2025-07-30T10:15:00Z"
},
"id": 1
}
Task Monitoring
# Check task status
curl https://mcp.siemens.com/tasks/task-abc123
# Get all active tasks
curl https://mcp.siemens.com/tasks
๐ Specification References
- Agent2Agent (A2A) Protocol v0.2.9 - Official specification and implementation guide
- JSON-RPC 2.0 - Remote procedure call protocol specification
- OAuth 2.0 (RFC 6749) - Authorization framework for secure API access
OpenAPI
This server provides full OpenAPI 3.0.3 specification compliance with dynamic schema generation, enabling REST API access to all MCP tools through standard HTTP requests. Perfect for integration with existing REST-based systems and API workflows.
๐ Overview
OpenAPI 3.0.3 Compliance: Full specification adherence with dynamic schema generation
Dynamic Schema Generation: Automatically generates OpenAPI schemas from Zod input validation
Self-contained Swagger UI: Interactive documentation with Siemens branding and real-time testing
๐ Interactive Documentation
Swagger UI: Open Interactive API Documentation
Features:
- Real-time API testing interface
- Complete schema documentation
- Siemens-branded responsive design
- Authentication integration
๐ REST Endpoints
Core Endpoints:
- GET /openapi.json - OpenAPI 3.0.3 specification
- GET /api/docs - Interactive Swagger UI
POST /tools/{toolName}- Execute specific tools via REST
๐ Authentication
OpenAPI endpoints support X-API-Key header authentication:
API Key Authentication
curl -X POST https://mcp.siemens.com/tools/siemens_search \
-H "Content-Type: application/json" \
-H "X-API-Key: your-api-key-here" \
-d '{
"query": "automation systems documentation"
}'
Supported Authentication Methods:
- X-API-Key Header: Simple API key authentication for REST endpoints
- OAuth2 Bearer Tokens: Enterprise authentication for advanced integrations
- Anonymous Access: Public tools available without authentication
๐ ๏ธ Available Tools
Auto-generated from MCP plugins - 8 tools available as REST endpoints:
Assets
Plugin: siemens-assets
Unified asset search with keyword-based discovery across all Siemens collections
/tools/siemens_assets
Developer Search
Plugin: siemens-developer-portal
Search across all Siemens developer documentation
/tools/siemens_developer_search
Developer Discover
Plugin: siemens-developer-portal
Discover Siemens developer content by topic and product area
/tools/siemens_developer_discover
Developer Reference
Plugin: siemens-developer-portal
Find specific API reference documentation
/tools/siemens_developer_reference
Ai Search
Plugin: siemens-search
Natural language search with AI-powered summarization and intelligent content discovery
/tools/siemens_aiSearch
Product Search
Plugin: siemens-search
Specialized search for Siemens products, solutions, and technologies with technical specifications
/tools/siemens_productSearch
... and 2 more tools available via REST API
๐ก Pro Tip: Visit the interactive Swagger UI to test all endpoints with real-time parameter validation and response examples.
๐ป Code Examples
Get OpenAPI Specification
# Download the complete OpenAPI 3.0.3 specification
curl https://mcp.siemens.com/openapi.json
# Response: Complete OpenAPI specification with all tool schemas
{
"openapi": "3.0.3",
"info": {
"title": "Siemens MCP Server REST API",
"version": "1.0.0",
"description": "REST API access to MCP tools"
},
"paths": {
"/tools/siemens_search": {
"post": {
"summary": "Execute siemens_search tool",
"requestBody": {
"content": {
"application/json": {
"schema": { ... }
}
}
}
}
}
}
}
Execute Tool via REST
# Execute a search tool directly via REST API
curl -X POST https://mcp.siemens.com/tools/siemens_search \
-H "Content-Type: application/json" \
-H "X-API-Key: your-api-key" \
-d '{
"query": "industrial automation solutions",
"limit": 10
}'
# Response: Direct tool execution results
{
"success": true,
"result": {
"content": [
{
"title": "SIMATIC Automation Systems",
"description": "Comprehensive automation solutions...",
"url": "https://www.siemens.com/simatic"
}
],
"total": 42,
"query": "industrial automation solutions"
}
}
JavaScript Integration
// Modern JavaScript/TypeScript integration
const response = await fetch('https://mcp.siemens.com/tools/siemens_search', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': 'your-api-key-here'
},
body: JSON.stringify({
query: 'PLC programming documentation',
limit: 5
})
});
const result = await response.json();
console.log('Search results:', result.content);
Python Integration
# Python requests integration
import requests
url = "https://mcp.siemens.com/tools/siemens_search"
headers = {
"Content-Type": "application/json",
"X-API-Key": "your-api-key-here"
}
data = {
"query": "automation systems documentation",
"limit": 10
}
response = requests.post(url, json=data, headers=headers)
result = response.json()
print(f"Found {len(result['content'])} results")
๐ Specification References
- OpenAPI Specification v3.0.3 - Complete specification for REST API documentation
- Swagger/OpenAPI Documentation - Implementation guides and best practices
- JSON-RPC 2.0 - Underlying protocol specification for tool execution
- JSON Schema - Schema validation specification used in OpenAPI
API Reference
Base URL
https://mcp.siemens.com
Endpoints
This server exposes 26 endpoints across multiple protocols:
| Method | Path | Description |
|---|---|---|
| POST | /mcp |
MCP JSON-RPC endpoint for tool execution and resource access |
| GET | /mcp |
Redirects to this documentation (browser-friendly) |
| GET | /docs |
This comprehensive documentation page |
| GET | /health |
Health check endpoint returning server status |
| GET | /.well-known/mcp.llmfeed.json |
LLMFeed manifest with MCP capabilities |
| GET | /.well-known/capabilities.llmfeed.json |
Detailed capability list for auto-discovery |
| GET | /.well-known/public.pem |
Public key for signature verification |
| GET | /agent.json |
A2A agent card with available skills and contact information |
| GET | /.well-known/agent.json |
Well-known A2A agent discovery endpoint |
| GET | /a2a/agent |
A2A-specific agent card endpoint |
| POST | /a2a |
A2A JSON-RPC 2.0 protocol endpoint for agent-to-agent communication |
| GET | /tasks |
List all A2A tasks with pagination and filtering |
| GET | /tasks/{id} |
Get specific A2A task status and results |
| DELETE | /tasks/{id} |
Cancel specific A2A task |
/a2a |
CORS preflight support for A2A endpoints | |
| GET | /openapi.json |
Complete OpenAPI 3.0.3 specification with dynamic schema generation |
| GET | /api/docs |
Interactive Swagger UI documentation with Siemens branding |
| GET | /assets/{proxy+} |
Static assets (CSS, JS, fonts) with caching and security validation |
| POST | /tools/siemens_assets |
Execute Assets via REST API - Unified asset search with keyword-based discovery across all Siemens collections |
| POST | /tools/siemens_developer_search |
Execute Developer Search via REST API - Search across all Siemens developer documentation |
| POST | /tools/siemens_developer_discover |
Execute Developer Discover via REST API - Discover Siemens developer content by topic and product area |
| POST | /tools/siemens_developer_reference |
Execute Developer Reference via REST API - Find specific API reference documentation |
| POST | /tools/siemens_aiSearch |
Execute Ai Search via REST API - Natural language search with AI-powered summarization and intelligent content discovery |
| POST | /tools/siemens_productSearch |
Execute Product Search via REST API - Specialized search for Siemens products, solutions, and technologies with technical specifications |
| POST | /tools/siemens_search |
Execute Search via REST API - Comprehensive search combining AI insights, content, and products |
| POST | /tools/siemens_get_web_content |
Execute Get Web Content via REST API - Fetch and convert Siemens web content to clean markdown format using real browser automation |
Response Format
This serverless MCP server supports standard JSON responses for all requests:
JSON Response (Primary Format)
Content-Type: application/json
{
"jsonrpc": "2.0",
"id": 1,
"result": { ... }
}
REST API Response Format
Content-Type: application/json
{
"success": true,
"data": { ... },
"metadata": {
"toolName": "siemens_search",
"executionTime": 1250,
"timestamp": "2025-07-30T10:00:00.000Z"
}
}
Server-Sent Events (SSE) - Not Supported
This serverless implementation does not support SSE streaming responses due to AWS Lambda timeout constraints and cost efficiency considerations. Requests with Accept: text/event-stream will receive a 405 Method Not Allowed response as per MCP 2025-06-18 specification compliance.
HTTP/1.1 405 Method Not Allowed
Content-Type: application/json
{
"error": "SSE streaming not supported in serverless environment"
}
Authentication Methods
Multiple authentication methods supported across different protocols:
| Protocol | Method | Header/Parameter | Example |
|---|---|---|---|
| MCP | Bearer Token | Authorization | Authorization: Bearer <token> |
| A2A | OAuth2 Bearer | Authorization | Authorization: Bearer <oauth2-token> |
| OpenAPI/REST | API Key | X-API-Key | X-API-Key: <your-api-key> |
| All | Anonymous | None | Public access for non-sensitive operations |
Protocol Support
๐ค MCP Protocol
JSON-RPC 2.0 via POST /mcp
Standard Model Context Protocol for AI tool integration
๐ A2A Protocol
JSON-RPC 2.0 via POST /a2a
Agent-to-Agent communication with task lifecycle management
๐ OpenAPI 3.0.3
REST via POST /tools/{toolName}
Standard REST API with Swagger UI documentation
Except where otherwise noted, content on this site is licensed under the Siemens Inner Source License .