Skip to content
Agentmart
Submit a tool

passwerk

Offline EU Battery Passport compiler: ingest documents, map, validate (IDTA 02035), emit AASX.

Connector by ShahriarBijoy · GitHub account verified by the MCP Registry

IndexedApache-2.0Local (stdio)
Write a review

Chalk Labs

Need help deploying passwerk?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/shahriarbijoy-passwerk

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Offline EU Battery Passport compiler: ingest documents, map, validate (IDTA 02035), emit AASX.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
10 read · 5 write · 0 delete
Secrets
None asked for
Install scripts
Not scanned yet
Runs as
Node.js package

Tools by what they do 15

Read from the source code; the running server may list different tools.

Read 10 · Look things up without changing anything.

  • check_obligations
  • explain_attribute
  • extract_facts
  • gap_report
  • ingest_documents
  • list_capabilities
  • review_passport
  • slow_echo
  • suggest_mappings
  • validate_passport

Write 5 · Create, change, send or run things.

  • apply_mappings
  • create_upload
  • emit_passport
  • generate_carrier
  • run_series

Secrets and settings it asks for

Other settings (environment variables or headers).

  • PASSWERK_LOG_LEVEL
  • PASSWERK_ROOT

Files it touches

  • Any path the agent passes to its tools

Tools (15)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • apply_mappingsApply mapping decisions

    Folds accepted mapping decisions (or manual values) into a PassportDraft. Idempotent: the same decision twice is a no-op; a different value for an attribute that already has one is reported as a conflict and not applied unless override is true. Pass meta instead of draft to start a new draft.

  • check_obligationsCheck battery passport obligationsread-only

    Whether a battery passport is required for a battery type, role, energy and market date under Regulation (EU) 2023/1542 Article 77(1); returns the category, the mandatory, conditional and deferred attribute sets and the legal timeline. Answers required, not_required or insufficient_input. Not legal advice.

  • create_upload

    Open an upload slot for supplier documents of one battery model. Returns a PUT URL valid for 15 minutes and a curl command: run it once per local file from a shell, so the file bytes go straight to the server and never through the conversation. Then call run_series with { upload: uploadId, category }. A slot holds at most 20 files (.pdf .xlsx .docx .csv .txt), 10 MB each and 40 MB in all, and is used once.

  • emit_passportEmit the passport files

    Emits a PassportDraft as AAS JSON (IDTA 02035 submodels), an AASX package, the draft JSON and/or the HTML sheet, and re-validates the emitted output. Fail-honest: files are returned even when the verdict is invalid, and the verdict is never better than validate_passport’s. Bytes come back base64 inline unless outDir is given.

  • explain_attributeExplain an attribute or ruleread-only

    Everything the knowledge base holds about one passport attribute (official DIN definition, DE/EN explanation, synonyms, who typically has the data, unit, range, applicability per category, legal references, IDTA template elements) or one plausibility rule (message, fix hint, legal reference). Nothing is composed; unknown ids are an error.

  • extract_factsExtract factsread-only

    Turns a DocumentBundle into a FactSet: labelled values with normalised numbers, units and dates, each with file, page, line or cell provenance. Pure heuristics, no model. Returns the FactSet and a factSetId to pass to suggest_mappings.

  • gap_reportGap reportread-only

    The to-do list for a PassportDraft: every attribute bucketed as required, conditional, deferred or optional with status, legal references, who typically has the data and a suggested action; completeness for mandatory and overall data points, grouped by submodel and by data owner. Runs validate_passport first so invalid values count as gaps. Ask for detail "full" and a status/bucket filter to see every open attribute with its legal reference and next action, unabridged, for use without the structured content. Not legal advice.

  • generate_carrierGenerate the data carrier (QR code)

    Builds the data carrier for a passport: the unique identifier (the draft’s passportId, an absolute https URI), an optional GS1 Digital Link (/01/{gtin}/21/{serial} or /8004/{giai}) and the QR code as SVG or PNG. The QR encodes the Digital Link when GS1 data is given, else the identifier. Says nothing about validity; validate_passport does.

  • ingest_documentsIngest supplier documentsread-only

    Reads PDF, XLSX, CSV, DOCX and TXT documents into a DocumentBundle with page, line, table and cell provenance, deterministically and without OCR or a model. Returns a per-document summary and a bundleId to pass to extract_facts; ask for detail "full" to see the pages. Unsupported or unreadable files are reported, not dropped.

  • list_capabilitiesList capabilitiesread-only

    Versions of the bundled IDTA 02035 templates and AAS schemas, knowledge-base statistics, when the artefacts were retrieved, the sovereignty statement, and this server’s tools and session-store usage. Call first to learn what this server can do.

  • review_passportReview a passport in the workbenchread-only

    Opens the interactive passwerk workbench in hosts that render MCP Apps (Claude Desktop, Claude web, the ChatGPT desktop app): upload documents, accept or edit mapping proposals, read the gap report and export, all on the user’s machine. Pass the current draft so the user reviews it visually; the workbench keeps the draft id in sync so gap_report and emit_passport can continue on it. Hosts without a UI receive the same draft, validation report and gap report as text.

  • run_series

    Run battery models as one MCP task: every model goes through ingest, extract, suggest, apply, validate and emit. Give exactly one source: `series` (a demo series on the server), `upload` (an uploadId from create_upload, after the files were PUT; all its files are one model) or `documents` (inline base64 files, at most 1 MB in all, only for hosts without a shell). When the server reads documents with AI, values it is not sure enough to apply on its own are held. With `confirm: "ask"` (the default) the task asks the user about them in a dialog before it finishes; use `confirm: "hold"` in non-int…

  • slow_echo

    Wait the given number of seconds (1 to 120), then return the text. Runs as an MCP task.

  • suggest_mappingsSuggest attribute mappingsread-only

    Scores every fact against the knowledge-base synonym index (DE/EN), unit and type checks and the attribute range, and returns candidate mappings sorted by confidence with a DE/EN explanation and provenance. Review proposals under 0.7 with the user or the source page, then pass the accepted ones to apply_mappings. Ask for detail "full", or pass attributeIds, to see every candidate with its file, page and cell in the text.

  • validate_passportValidate a passport draftread-only

    Runs all four validation layers on a PassportDraft: L1 schema, L2 AAS meta-model (aas-core), L3 IDTA 02035 template conformance, L4 domain plausibility. Returns the verdict (valid, valid_with_warnings, invalid) and every finding with layer, rule id, path, DE/EN message, legal reference and fix hint. The only source of a validity claim.

Signals

Stars
0
Forks
0
Open issues
0
Weekly downloads
24
Last commit
Oct 24, 2026 (7 days ago)
Last release
Sep 13, 2026 (1 month ago)
Last package publish
Sep 13, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.ShahriarBijoy/passwerk
Version
0.1.1
Auth
No auth
Packages
npm @passwerk/server
License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get passwerk running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying passwerk?

CallGet help
Cite this page

passwerk MCP server. Agent Mart. https://agentmart.dev/connectors/shahriarbijoy-passwerk (last updated 2026-10-24)