mc8yp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| queryA | Search the bundled OpenAPI specs by evaluating a JavaScript function. This MCP currently exposes the release (latest) bundled core OpenAPI snapshot together with the other bundled product specs for the query tool. Bundled specs on this connection: core (release), dtm (release). Enabled bundled OpenAPI parts for execute policy: core, dtm. Use Available in your function: type OperationInfo = { summary?: string description?: string tags?: string[] parameters?: Array<{ name: string, in: string, required?: boolean, schema?: unknown, description?: string }> requestBody?: { required?: boolean, content?: Record<string, { schema?: unknown }> } responses?: Record<string, { description?: string, content?: Record<string, { schema?: unknown }> }> } type PathItem = { get?: OperationInfo post?: OperationInfo put?: OperationInfo patch?: OperationInfo delete?: OperationInfo } type CoreSpec = { paths: Record<string, PathItem> tags?: Array<{ name: string, description?: string }> } type DtmSpec = { paths: Record<string, PathItem> tags?: Array<{ name: string, description?: string }> } type SpecsEnabled = { core: boolean dtm: boolean } declare const coreSpec: CoreSpec declare const dtmSpec: DtmSpec declare const specsEnabled: SpecsEnabled Your code must evaluate to a zero-parameter function — do NOT declare The top-level bindings
a) b) c) are available automatically. The sandbox assigns your function to a local variable, invokes it, and returns its result. Recommended shapes (zero parameters — bindings come from scope, not arguments):
If your function returns a string, it is returned as-is. Otherwise the result is returned as JSON text. The specs exposed by Examples: () => specsEnabled () => { return Object.keys(coreSpec.paths).filter((path) => path.includes('inventory')) } () => { const results = [] for (const [path, methods] of Object.entries(dtmSpec.paths)) { for (const [method, op] of Object.entries(methods)) { if (op?.tags?.some(tag => tag.toLowerCase().includes('asset'))) { results.push({ method: method.toUpperCase(), path, summary: op.summary }) } } } return results } () => { const op = coreSpec.paths['/inventory/managedObjects']?.get return { summary: op?.summary, parameters: op?.parameters, responses: op?.responses } } |
| executeA | Execute JavaScript code against the Cumulocity API. First use the query tool to find the right endpoint, then write an async JavaScript function expression that uses cumulocity.request(). This MCP currently exposes the release (latest) bundled core OpenAPI snapshot together with the other bundled product specs for the query tool. Bundled specs on this connection: core (release), dtm (release). Enabled bundled OpenAPI parts for execute policy: core, dtm. Use Available in your module: type CumulocityRequestOptions = { method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' path: string body?: unknown headers?: Record<string, string> } declare const cumulocity: { request<T = unknown>(options: CumulocityRequestOptions): Promise } Your code must evaluate to a function. The top-level binding Recommended shape:
Inside that function, call Internally the sandbox classifies execution as success, blocked, or failed. Tool output behavior:
The current MCP connection may deny certain method/path combinations and may also use an allow list.
The This MCP can access multiple tenants. Use list-credentials first if the tenant is unclear, then pass the chosen tenantUrl to this tool. Examples: async () => { return await cumulocity.request({ method: 'GET', path: '/inventory/managedObjects?pageSize=5', }) } async () => { const alarms = await cumulocity.request({ method: 'GET', path: '/alarm/alarms?pageSize=10&withTotalPages=true', }) return alarms } async () => { const asset = await cumulocity.request({ method: 'GET', path: '/assets?pageSize=5', }) return asset } |
| list-credentialsC | List stored Cumulocity credentials |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| code-mode-guide | Guide for the two code-mode tools: query and execute, including available shapes and examples. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/schplitt/mc8yp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server