{"openapi":"3.0.4","info":{"title":"Create an MCP Tool","description":"Creates a new MCP tool definition","version":"0.0.1"},"servers":[{"url":"https://fbn-prd.lusid.com/identity"}],"paths":{"/api/mcptools/{scope}/{code}":{"post":{"tags":["MCP Tools"],"summary":"Create an MCP Tool","description":"Creates a new MCP tool definition","operationId":"CreateMcpTool","parameters":[{"name":"scope","in":"path","description":"The scope of the MCP tool","required":true,"schema":{"maxLength":64,"minLength":1,"pattern":"^[a-zA-Z0-9\\-_]+$","type":"string"}},{"name":"code","in":"path","description":"The code of the MCP tool","required":true,"schema":{"maxLength":64,"minLength":1,"pattern":"^[a-zA-Z0-9\\-_]+$","type":"string"}}],"requestBody":{"description":"The MCP tool definition","content":{"application/json-patch+json":{"schema":{"$ref":"/docs/api/identity/schemas.json#/components/schemas/UpsertMcpToolRequest"},"example":{"name":"get-instruments","title":"Get Instruments","description":"Retrieves instruments from LUSID","destructive":false,"idempotent":true,"openWorld":false,"readOnly":true,"parameters":[{"name":"limit","dataType":"Integer","description":"The maximum number of instruments to return"}],"luminescePayload":{"query":"select * from Lusid.Instrument limit {{{limit}}}"}}},"application/json":{"schema":{"$ref":"/docs/api/identity/schemas.json#/components/schemas/UpsertMcpToolRequest"},"example":{"name":"get-instruments","title":"Get Instruments","description":"Retrieves instruments from LUSID","destructive":false,"idempotent":true,"openWorld":false,"readOnly":true,"parameters":[{"name":"limit","dataType":"Integer","description":"The maximum number of instruments to return"}],"luminescePayload":{"query":"select * from Lusid.Instrument limit {{{limit}}}"}}},"text/json":{"schema":{"$ref":"/docs/api/identity/schemas.json#/components/schemas/UpsertMcpToolRequest"},"example":{"name":"get-instruments","title":"Get Instruments","description":"Retrieves instruments from LUSID","destructive":false,"idempotent":true,"openWorld":false,"readOnly":true,"parameters":[{"name":"limit","dataType":"Integer","description":"The maximum number of instruments to return"}],"luminescePayload":{"query":"select * from Lusid.Instrument limit {{{limit}}}"}}},"application/*+json":{"schema":{"$ref":"/docs/api/identity/schemas.json#/components/schemas/UpsertMcpToolRequest"},"example":{"name":"get-instruments","title":"Get Instruments","description":"Retrieves instruments from LUSID","destructive":false,"idempotent":true,"openWorld":false,"readOnly":true,"parameters":[{"name":"limit","dataType":"Integer","description":"The maximum number of instruments to return"}],"luminescePayload":{"query":"select * from Lusid.Instrument limit {{{limit}}}"}}}},"required":true},"responses":{"201":{"description":"Create MCP Tool","content":{"application/json":{"schema":{"$ref":"/docs/api/identity/schemas.json#/components/schemas/McpToolResponse"},"example":{"scope":"my-scope","code":"get-instruments","name":"get-instruments","version":1,"title":"Get Instruments","description":"Retrieves instruments from LUSID","destructive":false,"idempotent":true,"openWorld":false,"readOnly":true,"parameters":[{"name":"limit","dataType":"Integer","description":"The maximum number of instruments to return"}],"payloadType":"Luminesce","luminescePayload":{"query":"select * from Lusid.Instrument limit {{{limit}}}"},"createdAt":"2023-01-01T10:00:00.0000000+00:00","createdBy":"00u...","updatedAt":"2023-01-01T10:00:00.0000000+00:00","updatedBy":"00u..."}}}},"400":{"description":"The details of the input related failure","content":{"application/json":{"schema":{"$ref":"/docs/api/identity/schemas.json#/components/schemas/LusidValidationProblemDetails"}}}},"409":{"description":"A tool with the same code or name already exists in this domain","content":{}},"default":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"/docs/api/identity/schemas.json#/components/schemas/LusidProblemDetails"}}}}},"security":[{"BearerAuth":[]}],"x-fbn-apistatus":"EarlyAccess"}}},"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}}}}