Model Context Protocol Server

Identifier:
org.eclipse.mcp.modelContextProtocolServer

Since:

3.0

Description:

The org.eclipse.mcp.modelContextProtocolServer extension point is used to declare and instantiate Model Context Protocol Servers, Tools and Resources that run within the IDE's Process and expose IDE functionality for interaction with Agents and/or Developers.

Behind the scenes, declared MCP Servers will be instantiated using the modelcontextprotocol/java-sdk API and may be configured to serve over HTTP using Jetty.

A "Platform MCP Servers" preference page will let users:

Contributors may be associated with an Activity/Capability to toggle their contributions to the server You may bind your own activities to categoryId "org.eclipse.mcp.activity" You may add your preference pages under parent You may add your own preference pages under the page "org.eclipse.mcp.preferences.general" You may use your own preferences to remove/add your tools to the server dynamically using ToolFactory.setVisibility

Configuration Markup:

<!ELEMENT extension (factory)+>

<!ATTLIST extension

id    CDATA #IMPLIED

name  CDATA #IMPLIED

point CDATA #REQUIRED>


<!ELEMENT contributor (factory)+>

<!ATTLIST contributor

id          CDATA #REQUIRED

name        CDATA #REQUIRED

description CDATA #REQUIRED

provider    CDATA #REQUIRED

activityId  CDATA #IMPLIED>

This element is used to define a Model Context Protocol Tool



<!ELEMENT factory EMPTY>

<!ATTLIST factory

class CDATA #REQUIRED>

Add one or more IFactories to this contributor. There are different descendants of IFactory tailored for tool creation, annotated tool creation, dynamic resource addition/subtraction, and resource templating with substitution variables w/ content assist



Examples:
The following is an example of several activity and category definitions as well as associated bindings.


  <extension
         point="org.eclipse.mcp.modelContextProtocolServer"
         id="foo.com.my.extension.id"
         name="My MCP Extension">

      <contributor
         id="foo.com.my.contributor.id"
         name="My MCP Contributor"
         description="My MCP Contributor Description"
         provider="My Product"
         activityId="foo.com.my.activity.id">
         <factory class = "foo.com.MyFactory"/>
      </contributor>
   </extension>

API Information:

See the java docs for org.eclipse.mcp for java interface documentationm

Two tracing options are available on the General > Tracing preference page


Copyright (c) 2025 IBM Corporation and others.
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-v20.html/ SPDX-License-Identifier: EPL-2.0