feat(mcp): add Nessie to the catalog - #73790
Conversation
teknium1
left a comment
There was a problem hiding this comment.
Thanks for identifying the missing HTTP API-key catalog path. The current main implementation still writes only url for HTTP api_key entries (hermes_cli/mcp_catalog.py:505-509), so the underlying bug is real.
Problems
hermes_cli/mcp_catalog.py:518derivesMCP_<NAME>_API_KEYfrom the catalog name, butauth.envpermits arbitrary names; the existing parser test usesDEMO_KEY(tests/hermes_cli/test_mcp_catalog.py:125-144). An HTTP entry with that valid declaration would prompt/storeDEMO_KEYwhile its generated header referencesMCP_DEMO_API_KEY.- This PR adds no regression coverage for the HTTP
api_keyinstall path. The existing API-key install test only verifies prompting and config presence (tests/hermes_cli/test_mcp_catalog.py:175-195).
Suggested changes
- Bind the generated bearer template to an explicit, validated manifest credential field (such as
auth.env_var), and set it for Nessie. - Add an end-to-end installer test asserting the exact
${VAR}reference in persisted headers and that the secret remains only in.env.
This is an automated hermes-sweeper review.
a80b7cd to
329615a
Compare
Add the hosted Nessie Streamable HTTP endpoint with API-key authentication using the bearer-header convention supported on current main. Default to the modern read-only tool surface so context and profile writes, corrections, deletion, and deprecated aliases remain explicit opt-ins. Point setup at the focused MCP documentation and call out the Cloud Sync requirement.
329615a to
1a980c1
Compare
|
@teknium1 I refreshed this PR onto current The generic HTTP API-key bearer-header support from the earlier version has since landed in #77356, so there is no installer code left here. The manifest now:
Validation is documented in the updated PR body. The relevant Hermes catalog suite is green (21/21), the Nessie server registration suite is green (12/12), the generated-config contract passes, and the hosted endpoint correctly rejects unauthenticated requests with HTTP 401. The full Hermes runner also completed; its unrelated optional/platform failures are disclosed in the body. Could a maintainer please do the catalog curation pass and, if the entry is acceptable, remove |
What does this PR do?
Adds Nessie to the official Hermes MCP catalog as a data-only manifest.
Nessie is a hosted Streamable HTTP MCP server for searching and reading a user's or team's AI conversation history, notes, profiles, and shared context. The manifest uses the HTTP API-key bearer-header convention already supported on current
mainthrough #77356, so this refresh no longer carries installer code.The default tool set is deliberately curated to 11 modern, read-only operations. Profile/context writes, modality corrections, deletion, and deprecated aliases remain available only when a user explicitly opts into them with
hermes mcp configure nessie.Related Issue
Related to #77356, which supplied the generic HTTP API-key catalog support this manifest uses. There is no separate issue for this catalog submission.
Type of Change
Changes Made
optional-mcps/nessie/manifest.yamlwith the hostedhttps://mcp.nessielabs.com/mcpendpoint.MCP_NESSIE_API_KEYas the required secret and used Hermes' generatedAuthorization: Bearer ${MCP_NESSIE_API_KEY}configuration.How to Test
scripts/run_tests.sh tests/hermes_cli/test_mcp_catalog.py -q.hermes mcp install nessie, enter a scratch Nessie API key, and inspect~/.hermes/mcp_config.jsonfor the HTTPS URL and bearer-header reference.hermes mcp test nessie, then start a new Hermes session and ask Nessie to identify the current user or search conversation history.Validation performed for this refresh:
An authenticated live test was not repeated during this refresh because no scratch Nessie key was present in the validation environment.
Checklist
Code
fix(scope):,feat(scope):, etc.)pytest tests/ -qand all tests passThe existing catalog invariant suite covers every manifest, including this one; no new test code is needed for a data-only entry. The full-suite exceptions are documented above.
Documentation & Housekeeping
docs/, docstrings) — N/A; the manifest links the focused Nessie MCP setup documentationcli-config.yaml.exampleif I added/changed config keys — N/ACONTRIBUTING.mdorAGENTS.mdif I changed architecture or workflows — N/AScreenshots / Logs
N/A — this is a data-only catalog manifest.