Skip to content

WIP: allow for restrictions and enable/disable of API endpoints #53

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

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

Conversation

cooktheryan
Copy link

Currently there is no way to enable or disable specific endpoints. This is fine when using claude but when attempting to use smaller models the amount of tools available may overwhelm smaller models.

@cooktheryan
Copy link
Author

A couple screenshots using the disabling feature defined in the test data

Screenshot 2025-05-21 at 11 37 11 AM
Screenshot 2025-05-21 at 11 20 21 AM

@cooktheryan cooktheryan changed the title allow for restrictions and enable/disable of API endpoints WIP: allow for restrictions and enable/disable of API endpoints May 21, 2025
@mattt
Copy link
Owner

mattt commented May 21, 2025

Hi @cooktheryan. Thanks so much for your PR!

I totally agree that reducing the number of tools made available to the MCP server is important — especially for smaller models.

The design philosophy with emcee is to keep it small and sharp, favoring composition with other tools. Our prescribed approach is described in the README under "Transforming OpenAPI Operations":

You can transform OpenAPI specifications before passing them to emcee using standard Unix utilities. This is useful for:

  • Selecting specific endpoints to expose as tools with jq or yq
  • Modifying descriptions or parameters with OpenAPI Overlays
  • Combining multiple specifications with Redocly

The approach this PR takes, of using a configuration file, is totally valid approach. Without weighing in on the specific implementation here, I'd be hesitant to create new API surface area if it's unnecessary.

When configuration files are warranted, my go-to is viper, which pairs nicely with cobra.

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