Support for additional MCP primitives in Theia #14655
Replies: 1 comment 4 replies
-
Thank you very much about the feedback! Yes, we are interested in the other capabilities of MCP, too, let's break this down: PromptsThis is a no brainer. Theia AI (the underlying framework for the AI-powered Theia IDE) has already a flexible prompt management. In the Theia IDE, users can modify prompts, create new prompts and select the prompts for any agents. So the only thing we need to do really is to read in the prompts from MCP and make them part of our existing infrastructure. Do you have a good example for a MCP server providing prompts? RessourcesSeems also straight forward. If a server provides ressources, we could provide the generic resources access functions as tool functions and additionally we could provide a variable with a URI parameter to be used for explicitly referencing a sepcific resources (in the chat or a prompt) RootsYes, that sounds indeed very interesting and we could very easily expose roots to an MCP server, such as the current workspace, the current git origin or even something the user can decide on. What I did not see yet is: Are MCP server exposing whether they expect roots and what they do with it? Do you know a good example MCP server that uses roots? SamplingIs there any server using this, yet? We could also implement this, we have integrations for openai, anthropic, ollama and llama-file, but it would be good to have a least one use case :-) Thanks again for your input, we are really excited about the capabilities gained via MCP, great project for AI innovation! |
Beta Was this translation helpful? Give feedback.
-
Based on modelcontextprotocol/docs#90 (comment) discussion with @JonasHelming
It's great to see Theia implement MCP.
The protocol features additional primitives, Prompts, Resources, Sampling and Roots that would be great to have implement in Theia. Prompts are often mapped to
@
or/
commands in an assistant panel, for example in Zed/my-prompt
would call the prompt and insert it. Resources are often attached as files and the application decides how to handle them.A bit more interesting for an IDE, but sadly not widely supported by MCP servers, is the idea of Roots. This is a facility allowing MCP hosts/clients such as Theia inform servers about open workspaces, such that MCP servers can focus their work on this. This can be very useful for agentic MCP servers that must operate in a directory open in Theia. Sampling could be an interesting facility if MCP servers should be able to use LLMs without bringing their own mode SDK (e,g, openai or anthropic sdk).
These are just some ideas. Would be great to see the implementation becoming richer in capabiility.
Beta Was this translation helpful? Give feedback.
All reactions