Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add mcpx MCP server to servers.json #1099

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

nilslice
Copy link

@nilslice nilslice commented Feb 5, 2025

Our free registry provides highly secure & portable MCP tools to Goose without exposing your system to untrusted file/network access. All "servlets" on mcp.run get installed on demand via mcp.run, and are small WebAssembly modules - totally isolated from the user's system.

Some examples: https://x.com/nilslice/status/1884360731694620739

@michaelneale
Copy link
Collaborator

thanks but this looks like a service vs something someone runs locally (also can't see the source/license for the library) - the servers page currently is for singlular mcps while things evolve, but may be another place to advertise this service that people could try?

Copy link
Collaborator

@michaelneale michaelneale left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't think it should be in the list

@nilslice
Copy link
Author

nilslice commented Feb 6, 2025

Thanks for taking a look! This indeed is something that runs locally, but is updated with new tools dynamically via the mcp.run service.

It's far more convenient and secure for users to install and manage tools via our interface vs. loading full executables for each new server - all installable servlets on mcp.run are actually WebAssembly modules fully isolated from the host machine where they run.

Understood if you don't think it's a fit - it's your project here after all!

@michaelneale
Copy link
Collaborator

michaelneale commented Feb 6, 2025

@nilslice so can you explain how it works - they add just one mcp and then - how are there many others added, via mcp.run from then on? main concern is it takes away action from user of adding a specific MCP (ie ideally would be one by one with local permissions not remote, certainly in terms of that jsonfile list that is the idea)

@nilslice
Copy link
Author

nilslice commented Feb 6, 2025

Sure! That's right, you install mcpx as shown in the json file, then through the MCP client (Goose) you can run a login tool - this will have the user approve the auth request, and store some information about the user account on their own machine to authenticate them to mcp.run for future requests.

On mcp.run, the user manages profiles. These are where they install and configure servlets containing tools. All of these servlets are wasm modules that implement MCP Tool protocol endpoints. When you install one, it is delivered to the client to be run locally inside mcpx.

Profiles are really important because the scope sets of tools. As users add more servers to any client, the bloat of Tool Descriptions and other metadata takes away from the context window available. With a Profile, you get better control over which tools are active at any time.

mcpx also has a builtin search tool, so users can find new capabilities all from within Goose.

Also, we've updated the LICENSE for mcpx, which is now BSD-3 as per https://www.npmjs.com/package/@dylibso/mcpx?activeTab=code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants