Skip to content

Add a resources surface to the MCP servers (pilot on vibration) #352

@iksnerd

Description

@iksnerd

Noticed while poking at the servers: resources/list comes back empty on all six, even though FastMCP advertises the resources capability by default. So a client that sees the capability and asks gets nothing:

resources/list → {"resources": []}

A few servers already have static reference content that'd make more sense as a resource than a tool call: the bearing fault-frequency formulas in vibration/dsp/bearing_freqs.py, or the failure-mode lists in fmsr/failure_modes.yaml.

I threw together a pilot on vibration — it exposes the bearing-frequency reference as a resource, plus a load_resources tool as a fallback for clients that only call tools and never browse resources. The fallback is a bit redundant (same content, two surfaces), but most agent clients I've used only look at tools, so it earns its keep. Tools are untouched, tests green. Same approach should drop onto fmsr and the rest.

One thing to settle before I send a PR: is core even the right home for this? README:257 points at the Columbia team's external Skills/Knowledge plugin. If that's where resources should live, close this and I'll move on.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions