Ingest your own norm
Add a norm you are licensed for to your private Stratta workspace, agentically from your own Claude.
Stratta doesn't ship a shared library of norms. Instead, you bring the norms your organization
is licensed for and ingest them into your private workspace. Ingestion runs from your own
Claude using the ingest_* tools: your subscription, your PDF, your workspace.
Licensing is your responsibility. Only ingest norms your organization holds a valid licence for. SIA standards and Eurocodes are copyrighted. See the Terms.
How it works#
The @stratta/mcp package ships an ingest-norm skill: a guided workflow that turns a norm
PDF into a navigable tree inside your workspace. When you ask Claude to ingest a norm, it:
- Reads the PDF.
- Builds the table-of-contents tree (chapters, sections, annexes).
- Extracts formulas (as LaTeX), tables, figures, and cross-references.
- Writes everything to your workspace via the
ingest_*tools. - Publishes the norm so the read tools can query it.
Because the agent does the heavy lifting, ingestion is reproducible without a manual data pipeline. It runs on your Claude subscription's session tokens and requires no separate API billing.
Prerequisites#
- The Stratta MCP server is installed and authenticated (see Install in Claude Code).
- The norm PDF is available locally on your machine.
- Optional, for extracting figures: the
popplertools (pdftoppm,pdfimages).
Ingest a norm#
In Claude Code, from a context where the PDF is reachable, simply ask:
Ingest the norm at C:\norms\SIA_263_2013.pdf into my Stratta workspace.Claude loads the ingest-norm skill and walks through the workflow below. A full norm takes a
while. It reads every page and enriches each section.
The ingestion workflow#
This is what the skill does, step by step. You don't run these tools by hand; Claude calls them. Understanding the flow helps you review the result.
Check for an existing copy
ingest_status { code }reports whether the norm already exists in your workspace. To re-ingest, the old copy is removed first withingest_delete.Plan the tree
Claude reads the PDF and builds a PageIndex-style hierarchy: chapters (depth 0), sections, sub-sections, and annexes. Each node gets a stable id, a human path (e.g.
4.2.1,Annexe B.1), a short summary, and a page range. Annexes are never skipped because they hold key numeric values.Create the document
ingest_create_document { code, year, title, language, totalPages }returns adocumentIdused by every following call.Insert sections in batches
ingest_create_sectionsbulk-inserts the tree (30 to 50 sections per call) and returns a map from each node id to its stored section id.Enrich each section
ingest_attach_formula(LaTeX),ingest_attach_table(headers + rows), andingest_attach_cross_ref(links to other norms) add the technical content.Upload figures
ingest_upload_figurestores each diagram (PNG, JPEG, or WebP, up to 8 MB) and links it to its section.Normalize cross-references (optional)
ingest_normalize_cross_refsscans the text for references to other norms (SIA, SN EN, EN, ISO, DIN…) and rebuilds the cross-reference index.Publish
ingest_publishmakes the norm queryable via the read tools in your workspace.
See the ingestion tools reference for every parameter.
Quality matters#
The accuracy of future citations depends on the ingestion:
- Paths and page ranges must be correct. They are the citation itself.
- Summaries drive how Claude navigates the tree, so they should be specific (mention key formulas or values).
- Content must stay faithful to the source and never be invented.
After ingestion, spot-check a few sections by asking Claude questions you already know the answer to, and confirm the citations land on the right pages.