Skip to content

grub-crawler MCP: add nuts_services_list tool advertising N.U.T.S. endpoints #19

@kordless

Description

@kordless

Summary

Add a nuts_services_list tool to MCP/grub-crawler.py that returns the known N.U.T.S. service directory — URLs, capabilities, auth requirements, and health status for each service.

Motivation

Agents using the grub-crawler MCP have no way to discover what other N.U.T.S. services exist or how to reach them. A discovery tool closes that gap and lets agents self-route to the right service (e.g. shivvr for ephemeral compute, auth for token exchange).

Proposed tool

@mcp.tool()
async def nuts_services_list(
    check_health: bool = False,
    ctx: Context = None,
) -> Dict[str, Any]:
    """
    List all known N.U.T.S. (Network Utilities and Tool Services) endpoints.

    Returns the service directory for the nuts.services fleet: URLs, purpose,
    auth requirements, and optionally live health status for each service.

    Args:
        check_health: If True, ping each service /health endpoint and include status.
        ctx: MCP context (optional).
    """

Services to advertise

Service URL Description
GrubCrawler https://grub.nuts.services Web crawler — clean extraction, bot bypass
Shivvr https://shivvr.nuts.services Ephemeral compute environments
Auth https://auth.nuts.services N.U.T.S. OAuth token exchange

Notes

  • Static directory is fine initially; check_health=True pings /health on each
  • Auth token (WRAITH_AUTH_TOKEN) should be passed through to services that require it
  • GRUB_BASE_URL override should still apply for self-hosted deployments

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