posit-dev / posit-dev/mcptools

Expose source server and annotations for client tools

Open
#129 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
R
Stars
196
Forks
21
Avg merge
1h 14m
Merged PRs (30d)
1

Description

I’m using mcp_tools() with Deputy and would like to inspect the source server and MCP annotations alongside each returned ellmer tool.

Deputy checks tools before running them. For an MCP tool, I’d like to show which configured server supplied it and use hints such as readOnlyHint and destructiveHint as inputs to that check. The host still decides what to allow; discovery and server-provided hints don’t grant permission.

In mcptools 1.0.2, the connection has the descriptors, but the ellmer conversion drops the annotations and server identity. I currently have a small version-checked adapter that reads those existing descriptors without opening another connection.

The connection association matters too. If a server is reconnected under the same name, I need to avoid checking an old tool’s annotations and then invoking its replacement. Deputy currently rejects that stale handle and asks the host to reload the tools.

Would exposing this information fit the client interface work in #109? I’d like to reuse mcptools’ discovery, conversion and connections, and remove the adapter once a public interface is available.

I’m tracking the Deputy integration in JamesHWade/deputy#99.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with mcp_tools(), the connection descriptors, and the ellmer conversion described in the issue, then review the client interface work in #109. The public interface should preserve source-server identity and MCP annotations, associate them with the current connection, and support rejecting stale tools after reconnection without opening another connection.

Written by the indexing model from the issue text.

Assessment

Tech stack
r
Domain
api, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.