Skip to content
Noble Notations
NN · Connect
Model Context Protocol · HTTP
Section VII · Connect

Connect an agent

Noble Notations answers the Model Context Protocol. Give an agent the address below and it can read every recipe, every revision, every tag and every run in the catalogue. Reading is open to anyone. Writing asks you to sign in first. Nothing it deletes is destroyed.

Endpointhttps://noble-notations.ryanjnoble.dev/api/mcp/mcp
Transport HTTP · no key to read
I

Three steps

Five minutes
1
Step one Add the address to your agent
In the agent’s configuration add a server whose transport is HTTP and whose address is the one above. Nothing else is required and no key is issued: the whole catalogue is readable by anyone who asks for it. In claude.ai that is Settings, then Connectors, then Add custom connector; Claude registers itself with RFC 7591 dynamic client registration.
2
Step two Sign in, but only if it will write
The first call that adds anything sends you to this site to sign in as the administrator, and then to a consent screen that names exactly what is being granted. Reading never asks. If you only want the agent to read the catalogue you can skip this step entirely.
3
Step three Ask it for something
“Add tonight’s batch to Baumy Biltong as a new revision, and say why it changed.” The agent reads the current revision first, writes a new one after, and the revision you had before is still there when it is finished.
II

What an agent may read

No sign in
  • R1
    get_started The full guide to how this repository works. An agent reads this one first. Read
  • R2
    search_recipes Free text, categories, and ingredients that must be in or out — the same six fields the search page has. Read
  • R3
    get_recipe One recipe with its current revision, or any earlier revision asked for by number. Read
  • R4
    list_categories Every cuisine, course, technique and kind held, with the number of recipes carrying each. Read
  • R5
    list_ingredients The canonical ingredient list, with aliases and the recipes that use each one. Read
  • R6
    get_ingredient One ingredient: its aliases, its density, its substitutes and the notes on it. Read
  • R7
    list_experiments Every recorded run, whether or not it names a recipe. Read
  • R8
    get_experiment One run: the date, the weights, what it cost and what happened. Read
  • R9
    search_notes Every note, wherever it hangs: on a recipe, an ingredient or a run. Searchable by text and by kind. Read
  • R10
    build_shopping_list The consolidated list for any set of recipes, combined by aisle and by unit. Read
  • R11
    get_repository_stats How much is held: recipes, revisions, ingredients, tags and runs. Read
  • R12
    list_deleted What is in the bin: the kind, the date, who deleted it, the reason, and how to restore it. Read
III

What an agent may write

Sign in first
  • W1
    create_recipe A genuinely new dish. Search first. Writes
  • W2
    create_variant The same dish taken a different way. It becomes a recipe of its own, and the dish it came from does not change. Writes
  • W3
    revise_recipe The usual case: append a revision with the reason it was made. The recipe keeps its name. Writes
  • W4
    backfill_revision A version found later that existed before everything stored. It never moves the current revision. Writes
  • W5
    add_note An observation, a correction, research with sources, a substitution or a warning. Writes
  • W6
    add_mass_flow What a batch weighed at each stage, for a stored version that has no figure yet. Writes
  • W7
    describe_mechanism The conditions a stored science note holds under. Once only. Writes
  • W8
    add_core_pattern The plain pattern under a stored dish, and what a cook can swap. Once only. Writes
  • W9
    reattach_note Moves a note to another record. The note itself does not change, and the store keeps where it was. Writes
  • W10
    upsert_ingredient An ingredient’s categories, aliases, densities and substitutes. Writes
  • W11
    upsert_category A tag’s label, its explanation and its parent. Writes
  • W12
    log_experiment A batch that was actually cooked, with its measurements. Writes
  • W13
    update_recipe The record of a recipe, when it is wrong: the name, the summary, the tags. It touches no revision. Writes
  • W14
    update_revision A stored revision, when it was recorded wrongly. It makes no revision and it moves no number. Writes
  • W15
    update_note A stored note: its kind, its text, its conditions, its sources, or what it hangs off. Writes
  • W16
    delete_record A recipe, a revision, a note, a run, an ingredient, a tag or an image. It stops being visible; it is not destroyed. Writes
  • W17
    restore_record The undo for the one above, with the same arguments and the same set of records. Writes
  • W18
    upload_image A picture from a web address, or a small one sent as bytes. It answers with the address every image field takes. Writes
  • W19
    request_image_upload A one-hour link for one photograph, for one record. You open it and pick the file; the agent never holds it. Writes
IV

What an agent may report

Both scopes
  • X1
    report_issue A fault in this connector, filed as an issue on the public GitHub repository of this project. Reports
!
WARNING The report goes to GitHub, and it is public
report_issue is the one tool whose effect lands outside this system. It opens an issue on this project’s public GitHub repository, so a fault an agent hits reaches a person instead of ending with the conversation. It is in both scopes: a read-only connector can file one, because a read-only agent is exactly the one that meets a read tool’s bug. The repository is fixed in the code and no argument names it. The tool removes values that match a known credential pattern, tells the agent how many it removed, and refuses to file more than ten open reports at a time. It is not registered at all unless GITHUB_ISSUE_TOKEN is set.
!
WARNING A delete is reversible, and nothing is destroyed
Write access lets an agent add a recipe, correct one, and delete one. A delete does not destroy anything: the record stops being visible — the site does not show it and the read tools do not return it — and restore_record brings it back with the same arguments. list_deleted shows what is in the bin, with the date, who deleted it and the reason they gave. Deleting a recipe takes its revisions, its notes and its runs with it, and one restore brings back the same set. The revision rule is unchanged and it is still the one that matters: revise_recipe adds a revision and leaves every earlier one where it was, and update_revision corrects a revision that was recorded wrongly. The question that separates them is whether the dish changed or the record is wrong. A note can also be moved to another record: the text of the note does not change, and the store keeps each record it was on before. Every tool call is written to an audit log, and nothing can delete that.
!
WARNING An agent is asked to write in plain English
Every recipe here is written in ASD Simplified Technical English: short sentences, one idea in each, active voice, and the same word for the same thing. A step reads as one instruction — Cut the beef into strips of 10 mm — and every amount, time and temperature carries a number and a unit. The connector states this rule in its instructions, in get_started and on every tool that stores text a reader sees. It is not enforced by the schema, because no schema can tell good prose from bad.