Dynamic Tool MCP Server

by scitara-cto

354 downloads
Not rated
GitHub

About

A basic MCP server using the SSE transport that can be used to test dynamic tool creation/management

Details

Author
scitara-cto
Downloads
354
Categories
Other

- Two built-in tools: hello and add_tool
- Dynamic tool registration at runtime
- Sends tool list change notifications to connected clients
- Clients can request updated tool lists after changes
- New tools become immediately available after addition
- Designed for testing MCP client dynamic tool handling

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Dynamic Tool MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install dependencies with npm install, then start the server with npm start. The server runs on http://localhost:4100 by default. Configure clients via .cursor/mcp.json by pointing to http://localhost:4100/sse. Use the built-in hello tool for greeting and add_tool to dynamically register new tools at runtime.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "dynamic tool mcp server": {
            "dynamic-tool": {
                "type": "http",
                "url": "http://localhost:4100/sse"
            }
        }
    }
}

McpServers

{
    "dynamic-tool": {
        "type": "http",
        "url": "http://localhost:4100/sse"
    }
}

Dynamic Tool MCP Server

This is a basic MCP (Model Control Protocol) server implementation designed for testing MCP clients. The server demonstrates dynamic tool management capabilities, allowing tools to be added at runtime.

Features

The server comes with two built-in tools:

1. Hello Tool (hello)

- A simple greeting tool that takes a name parameter
- Returns a greeting message
- Example: hello("World") returns "Hello, World!"

2. Add Tool Tool (add_tool)
- Dynamically adds new tools to the MCP server
- Takes a tool name and description as parameters
- After adding a tool, notifies connected MCP clients about the tool list change
- Clients should respond by requesting an updated tool list

Dynamic Tool Management

The server implements the MCP protocol's dynamic tool management feature. When a new tool is added using the add_tool tool:

1. The tool is registered with the server
2. The server sends a notification to all connected clients about the tool list change
3. Clients should respond by requesting an updated tool list
4. The new tool becomes immediately available for use

This functionality makes this server ideal for testing MCP client implementations, particularly their ability to:

- Handle dynamic tool list updates
- Request and process updated tool lists
- Support runtime tool registration

Getting Started

1. Install dependencies:

   npm install
   

2. Start the server:

   npm start

The server will run on http://localhost:4100 by default.

Configuration

The server can be configured through the .cursor/mcp.json file:

{
  "mcpServers": {
    "dynamic-tool": {
      "url": "http://localhost:4100/sse"
    }
  }
}

Testing

This server is particularly useful for testing MCP client implementations that need to handle dynamic tool management. It allows you to verify that your client:

- Correctly processes tool list change notifications
- Properly requests and handles updated tool lists
- Can use newly added tools immediately after they're registered

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.