@@ -15,24 +15,35 @@ The OpenSlice MCP Server is a Spring Boot application that bridges OpenSlice's s
### MCP Tools Available
-**Service Catalog Management**:
- Browse service catalogs and categories
- Search for service specifications
- Get detailed service specification information
- Access resource specifications
-`getOSLServiceCatalogs`: List all published service catalogs
-`getOSLServiceCategories(catalogName)`: List categories in a catalog
-`getOSLServiceSpecsInCategory(categoryId)`: List service specification references in a category
-`getOSLServiceSpecificationByServiceSpecificationId(serviceSpecId)`: Get full details of a service specification
-`getOSLResourceSpecificationByResourceSpecificationId(resourceSpecI)`: Get full details of a resource specification
-`searchOSLServiceSpecifications(searchStrings)`: Search across all published service specifications
-**Service Order Management**:
- Create service orders with customizable characteristics
- Track service order status and progress
- Retrieve service order details and history
-`createServiceOrder(serviceSpecId, startDate, endDate, characteristics)`: Create a service order with optional characteristics. Requires authorization.
-`getServiceOrder(serviceOrderId)`: Get full details and status of a service order
-**Service Instance Management**:
- View service instances and their details
- Update service characteristics
- Monitor service status and supporting resources
-`getService(serviceId)`: Get details of a service instance (state, characteristics, supporting services/resources)
-`updateService(serviceId, characteristics)`: Update characteristics of a running service instance
-**Product Catalog Management**:
-`getOSLProductCatalogs`: List all published product catalogs
-`getOSLProductCategories(catalogName)`: List categories in a product catalog
-`getOSLProductOfferingsInCategory(categoryId)`: List product offerings in a category
-`getOSLProductOfferingByProductOfferingId(productOfferingId)`: Get full details of a product offering
-`getOSLProductByProductSpecificationId(productSpecId)`: Get full details of a product specification
-`searchOSLProductOfferings(searchStrings)`: Search across all published product offerings
-**Product Order Management**:
-`createProductOrder(startDate, endDate, offeringsWithCharacteristics)`: Create a product order for one or more offerings with per-offering characteristics. Requires authorization.
-`getProductOrder(productOrderId)`: Get full details and status of a product order
-**Resource Management**:
- Access resource information and specifications
- Track resource status and characteristics
-`getResource(resourceId)`: Get details of a resource instance (status, characteristics)
@@ -101,7 +112,7 @@ The server will start on port 13015 and provide MCP endpoints for AI assistant i
Once running, the server can be connected to Claude Code or other MCP-compatible clients:
1. The server exposes its MCP interface at: `http://localhost:13015/mcp/messages`
1. The server exposes its MCP interface (SSE) at: `http://localhost:13015/sse`
2. AI assistants can discover and use the available tools for OpenSlice operations
3. Authentication is required via JWT tokens from the configured OAuth2 provider
@@ -117,7 +128,7 @@ for Claude:
"command": "npx",
"args": [
"mcp-remote@latest",
"http://portal.openslice.eu:13015/sse",
"http://localhost:13015/sse",
"--allow-http"]
}
@@ -127,6 +138,38 @@ for Claude:
> Note: At the time of your download, the `mcp-remote@latest` tag may be incompatible with the committed OSL MCP Server, due to the growing ongoing research. If you experience connectivity issues with your MCP Client, please use `mcp-remote@0.1.18`, which is extensively tested and works.
### Typical Tool Workflow
The intended call sequence for an AI agent interacting with OpenSlice via MCP:
**Service ordering flow:**
1.`getOSLServiceCatalogs`: discover available catalogs
2.`getOSLServiceCategories(catalogName)`: list categories in a catalog
3.`getOSLServiceSpecsInCategory(categoryId)`: find specs in a category, or use `searchOSLServiceSpecifications(["keyword"])` to search directly
4.`getOSLServiceSpecificationByServiceSpecificationId(serviceSpecId)`: inspect characteristics and details before ordering
5.`createServiceOrder(serviceSpecId, startDate, endDate, characteristics)`: place the order
6.`getServiceOrder(serviceOrderId)`: poll for status and retrieve supporting service/resource IDs
**Product ordering flow:**
1.`getOSLProductCatalogs`: discover available catalogs
2.`getOSLProductCategories(catalogName)`: list categories in a catalog
3.`getOSLProductOfferingsInCategory(categoryId)`: find offerings in a category, or use `searchOSLProductOfferings(["keyword"])` to search directly
4.`getOSLProductOfferingByProductOfferingId(productOfferingId)`: inspect configurable characteristics before ordering
5.`createProductOrder(startDate, endDate, offeringsWithCharacteristics)`: place the order
6.`getProductOrder(productOrderId)`: poll for status and retrieve supporting product IDs
### Debugging with MCP Inspector
To browse and test all available tools interactively: