MCP studio
The MCP studio screen lets you register an MCP server, run the discovery of its tools and read the versioned input and output schemas of each tool. Portal path: /studio/mcp. It is used by developers and tenant administrators who bring a business tool server to the agents.
What the screen shows
- On the left, the list of the MCP servers the request may see (
GET /v1/mcp/servers), paginated, with New on top. An empty list shows No MCP server yet. - Without a selected server: Register a server, a JSON editor checked live against the fields of the registration body:
name(required, lowercase letters, digits and dashes),url(required, starts withhttp://orhttps://),transport(sseorstreamable_http),allowed_tools,allowed_resources,owner. - With a selected server:
- a section titled with the server name and its URL, the JSON of the server and the Discover tools button;
- Discovered tools: a table with the columns Name, Version, Status, Scopes, read from
GET /v1/mcp/catalogfor this server; - after a click on a tool: Input schema and Output schema in read only editors.
Actions
| Button or action | What it does | API call | Roles |
|---|---|---|---|
| New | Shows the registration editor with the starter body new-mcp. | None | Everyone |
| Click a server in the list | Shows the server and its tool catalogue. | GET /v1/mcp/catalog | Every signed in user |
| Register | Registers the server, then selects it. | POST /v1/mcp/servers | tenant_admin, developer |
| Discover tools | Runs the MCP discovery (initialize, tools/list): every new or changed tool becomes a catalogue version waiting for approval. | POST /v1/mcp/servers/{server_id}/discover | tenant_admin, developer (and the editor relation on the server) |
| Click a row of Discovered tools | Shows the input and output schemas of the tool. | None | Every signed in user |
| Retry (error state) | Reads the list or the catalogue again. | GET /v1/mcp/servers or GET /v1/mcp/catalog | Every signed in user |
Roles
The portal enables Register and Discover tools for STUDIO_WRITERS (tenant_admin, developer). The Control Plane accepts tenant_admin, developer and application_owner on both routes (WRITE_ROLES, services/control-plane/src/eai/domains/mcp/routes.py); discovery also needs the editor relation on the server.
Typical tasks
Register a server and discover its tools
- Open the editor. Click New. Expected result: Register a server with the starter body. If it fails: reload the page.
- Fill the body. The name identifies the server; the URL is where the gateway reaches it. Set
name,urlandtransport. Expected result: No problem found by the editor. If it fails: fix the line named by the problem. - Register. Click Register. Expected result: the toast MCP server registered and the server selected. If it fails: see Troubleshooting.
- Discover. The catalogue is empty until a discovery. Click Discover tools. Expected result: the toast Discovery finished: new or changed tools wait for approval and the tools in Discovered tools. If it fails: check that the URL answers the MCP protocol.
Read the schema of a tool
- Select the server. Click it in the list. Expected result: its catalogue. If it fails: No tool discovered means no discovery ran yet.
- Click the tool. Expected result: Input schema and Output schema side by side. If it fails: an empty object
{}means the server published no schema.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Register stays disabled | Invalid JSON, a schema problem or a missing role. | Fix the problems or ask for the developer role. |
Error forbidden (403) | A role or the editor relation on the server is missing. | Ask a tenant administrator. |
Error mcp_project_forbidden (403) | The server belongs to another project than the request. | Work in the project of the server. |
| No tool discovered | No discovery ran, or the server lists no tool. | Click Discover tools. |
| A discovered tool cannot be called | New or changed tools wait for approval. | Approve the tool version on the MCP servers page. |