Skip to content

Suggestion for MCP Function Naming Convention #333

Open
@shaneholloman

Description

@shaneholloman

Suggestion for MCP Function Naming Convention

Ya'll have a massive API, and as you add more functions, from a user perspective it would be greatly appreciated if you would do this for us.

Function Prefixing Idea

I've found it really helpful to prefix MCP functions with the service name (like github-add_issue_comment). As a user of several MCP servers, I wanted to share this experience in case others find it useful too.

Why I think this works well

From my experience:

  1. It groups related functions together: When an MCP client shows all available functions to the LLM, having the vendor name as a prefix naturally groups them, making them easier to find.

  2. Reduces confusion: It's immediately clear which service each function belongs to, which I've found helps both me and the LLMs I'm working with.

  3. Avoids naming conflicts: As more MCP servers emerge, this approach helps prevent function name collisions between different services.

  4. Makes selection more intuitive: I can easily say "use the firecrawl-* functions for web crawling" or "use github-* functions for repository operations."

Examples I've seen

  • Firecrawl has implemented this pattern with all their function names
  • I've started doing this with all MCP servers I create, and it's made a big difference

What's worked for me

  • Using a consistent prefix for all functions from the same service
  • Separating the prefix from the function name with a hyphen or underscore
  • Keeping the rest of the function name descriptive of what it does

This simple naming convention has removed a lot of confusion for me and for the LLMs I work with. It makes it much clearer which server to use for which tasks (like "use firecrawl server for this set of things" or "use moose for that set of requests").

Just sharing what's worked for me - hope it might be useful for others too!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions