fragmentum
CHAPTER ONE
THE PROTOCOL
VOL. I  ·  ISSUE 01
BERLIN  ·  2026
§1.0   OVERVIEW

Sixteen tools.
One lifecycle.
Any agent.

album-mcp is the layer that makes scientific software usable by AI agents. Instead of a researcher installing tools, reading docs, and wiring pipelines by hand, an agent does the work: it finds what exists, runs it, chains the results, and writes new tools when none fit. The open protocol is free. We sell the managed version: hosted catalogs, enterprise security, and album-mcp as a managed service.


Agents cannot read documentation.

REST APIs were designed for humans who could read docs, hand-write requests, and parse the output. Agents need something else: structured tool definitions with typed arguments, machine-discoverable schemas, and a uniform invocation contract. MCP (Anthropic's Model Context Protocol) gives us that. album-mcp implements it for the entire scientific-software lifecycle, so any agent that speaks MCP can drive a research pipeline as naturally as it writes a paragraph.

Below is the full surface, organised by category. Each tool is a verb. Operations marked 2FA require a TOTP code; this is how an enterprise gives an agent autonomy with a brake.

A. Discovery · how the agent learns what exists.
01
list_catalogs
Enumerate every catalog known to this album instance.
DISCOVERY
02
list_solutions
Walk every solution in a catalog. Returns name, version, language, status.
DISCOVERY
03
search_solutions
Free-text query across solution titles, descriptions, tags, authors.
DISCOVERY
04
get_solution_info
The solution's full RDF: arguments, dependencies, conda env, citation.
DISCOVERY
B. Lifecycle · installing, running, removing.
05
install_solution
Provision the conda environment. Solve, fetch, lock. Idempotent.
2FA · LIFECYCLE
06
run_solution
Execute against typed arguments. Returns exit code, logs, artefact paths.
2FA · LIFECYCLE
07
uninstall_solution
Tear down the env. Optional purge of cached data.
2FA · LIFECYCLE
08
get_cache_path
Surface the persistent path used to chain solutions in a pipeline.
LIFECYCLE
C. Authoring · the agent writes new solutions.
09
get_solution_scaffold
Generate a fresh solution skeleton: lifecycle hooks, RDF stub, conda spec.
AUTHORING
10
assemble_solution
Compose lifecycle code for the agent: install, run, prepare, finalise.
AUTHORING
11
validate_solution
Lint against the RDF schema. Fail closed on missing fields.
AUTHORING
D. Publishing · shipping new tools to a catalog.
12
deploy_solution
Push validated solution to a Git-hosted catalog. Returns commit ref.
2FA · PUBLISHING
13
remove_solution
Retire a solution from a catalog. Preserves Git history.
2FA · PUBLISHING
E. Management · catalog plumbing & admin.
14
add_catalog
Register a new catalog from a Git URL. Pulls index, validates schema.
MANAGEMENT
15
remove_catalog
Detach a catalog. Keeps installed solutions until uninstalled.
MANAGEMENT
16
update_catalog
Refresh local index against the upstream Git ref.
MANAGEMENT

Composing a denoise → segment pipeline.

An agent receives a single instruction: denoise and segment this microscopy folder. The protocol takes care of everything below.

▸ AGENT            denoise & segment /data/batch_042/
───────────────────────────────────────────────────────────────

┌─ search_solutions("denoise")
     matched: n2v-denoising@1.0.2
└─ get_solution_info("n2v-denoising")
    ·   args: --input (dir) --output (dir)
    ·   env:  conda <python=3.10, n2v=0.3.4>

┌─ install_solution("n2v-denoising")             [2FA]
     conda env provisioned (cached)
└─ run_solution("n2v-denoising", /data/batch_042/) [2FA]
      128 images denoised → /cache/album/.../denoised/

┌─ search_solutions("segment")
     matched: cellpose-segmentation@2.1.0
└─ get_cache_path()                              // chain inputs

┌─ install_solution("cellpose-segmentation")       [2FA]
     cuda 12 env provisioned
└─ run_solution("cellpose-segmentation", ↑denoised) [2FA]
      128 segmentations → /results/segmented/

───────────────────────────────────────────────────────────────
▸ DONE             elapsed: 4m 12s   ·   no human intervention
FIG. 2   A composed run.   The agent chains two solutions by passing a persistent cache path between them. The 2FA gate is satisfied once per session.

Validated against every major MCP client.

album-mcp is shipped as a Docker container that speaks the MCP wire protocol over stdio. Below: clients we have tested live and what they orchestrate well.

# Client Strengths observed Status
1Claude DesktopLong-horizon planning. Authoring entire solution files. Validating before deploy.verified
2CursorInline scaffolding while editing solution code. RDF lint feedback in editor.verified
3WindsurfMulti-agent orchestration across catalogs. Chaining tools by cache path.verified
4Custom MCPBring your own. The wire format is open.supported

2FA on every destructive call.

An autonomous agent can do real damage at the speed of a tokeniser. We gate the dangerous operations behind a TOTP. The agent plans freely; it acts only when an authenticated human (or service-account secret) is present. The granularity is per-tool, per-session.

  free / discoverable                      gated / 2FA
  ──────────────────                      ────────────
  list_catalogsinstall_solution
  list_solutionsrun_solution
  search_solutionsuninstall_solution
  get_solution_infodeploy_solution
  get_cache_pathremove_solution
  get_solution_scaffoldassemble_solution11 free  ·  5 gated
  validate_solutionadd_catalogremove_catalogupdate_catalog
FIG. 3   The autonomy gradient.   Discovery and authoring are free; everything that touches the file system or a remote catalog is gated.
An agent that can install is interesting. An agent that can publish is dangerous. An agent that can publish behind 2FA is shippable. S. Proft & J. P. Albrecht, design memo, 2026

Next: §2 · Demonstration.

An interactive transcript. Type a prompt; watch album-mcp dispatch.

Continue → §2 Back to abstract ↩