parse_xml
Parse XML and show the element tree with attributes and text, failing with line numbers when it is not well-formed.
textrequired
io.github.mrfentmenPublished by GitHub account mrfentmenv1.0.1Updated Nov 3, 2026
Parse, validate and convert XML offline with a real parser: entities, CDATA, attributes
Offline XML toolkit that lets an assistant parse XML into an element tree, convert it to JSON, and validate well-formedness.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Follow the launch instructions in the repository.
One repo for three families of servers, each subtree keeping its own layout and tooling so it can still be built, run and published on its own.
Most servers read public data with no key of their own; the ones wrapping a vendor API take
that vendor's key. Nothing in this repo asks a caller to pay. On 2026-10-17 the
licence machinery was removed for good: the per-tool src/license.ts gates are gone from the
MCP servers, and the A2A and ACP trees no longer carry the hosted licence-gateway half — the
skills that used it now answer with an explicit not-implemented stub. Nothing here asks a
caller to pay, and nothing they run is refused with a buy link.
Nothing here is generated: each subtree's README says what its servers read, and every server
has its own unit tests (mcp/servers/<slug>/tests, acp/agents/<name>/tests,
a2a/servers/<name>/tests) plus a live smoke check (tools/smoke*.py,
a2a/tools/smoke_all.py).
Nearly all of this is first-of-its-kind work, not a port of an existing catalogue. Before each
server or agent was built, it was checked against the official tool lists (the MCP registries,
agentclientprotocol.com's agent list and registry) and a live GitHub search for the same
domain, and the research logs record what was found and why it still counted as missing — see
mcp/MISSING.md, acp/MISSING.md and
a2a/docs/. Highlights:
published/; mcp/MISSING.md
documents the check that preceded every build: what was searched, what was skipped and why
the domain still counted as uncovered.session/request_permission for dataset reads, fs/write_text_file for a briefing file,
session/cancel for a conditional watch, image content blocks, a live SSE push feed), each
proved-unused in the wild by search at build time. Two more firsts carry their own proof:
the orchestrator is an agent whose feeds are agents — it
spawns sibling repo agents as real ACP child processes and merges their answers — and the
nyc pack is the first multi-agency city surface.acp/MISSING.md doubles as the public-feed atlas: every keyless
feed probed live, with its date, what it answered and whether it still works. The
published site renders that table at https://mrfentmen.github.io/awesome-servers/atlas.html.mcp/servers/<slug> (its own package.json, version and README).Creatures that use this corpus as their world live in the sibling repo
mrfentmen/superagents (public, with its own
claim-check in MISSING.md):
watchd/ obeys unchanged, plus the activation lines. Checks it can author today:
air thresholds, quake magnitudes within a radius, river gauges at flood stage.mrfentmen/fedora-hat: says "never miss" and
means it — one sentence installs the full crown of watches (air + quakes, gauge-named
flood) in one permissioned write, and your other questions are forwarded to the siblings
above with every row cited.mrfentmen/instink: compiles a skill into a
reflex — a matcher plus the answer it fires, with hit/miss counters and honest
promotion/demotion. The skill doc stays one step away, never deleted.mrfentmen/contextink: you say "do this" and
it acquires the context from the repo, git, and recent files so you don't have to explain
it; asks only the minimal high-information-gain questions when acquisition fails.mrfentmen/rewind: replays agent runs and mutates
one variable to see what would have happened. Replay + mutate + diff for agent traces.mrfentmen/scopink: checks if an action is within
the scope of what was asked. Detects scope creep in agent plans.mrfentmen/curious: proactively seeks information
it doesn't have. Scans for knowledge gaps, seeks answers, learns facts.mrfentmen/bored: uses idle time productively.
Consolidates memories, explores areas, prepares for tasks.Point the polymath at a checkout of this repo with AWESOME_SERVERS_HOME=$PWD/awesome-servers
and it federates across the two repos live.
published/)published/ holds one directory per npm package, byte-for-byte what the registry
serves: 1039 packages, every version matching npm latest.
published/INDEX.md is generated from the tree by python3 scripts/index-published.py.scripts/sync-published-snapshot.py re-downloads every package from npm; run it only
when every local fix has been published, because it overwrites dist/ from the tarballs.MCP_LICENSE_KEY): @mrfentmen/vg-resource-mcp.
Another 495 still ship tools that answer Not yet implemented; published/INDEX.md lists
every one of them.mrfentmen/awesome-servers) as its source.servers/ holds the older per-server source that predates the snapshot. Where the two
disagree, published/ is what users actually install.
Source: README.md at commit ee04f93
Parse XML and show the element tree with attributes and text, failing with line numbers when it is not well-formed.
textrequiredConvert a single-root XML document to JSON: attributes become @name, text becomes #text, repeated tags become arrays.
textrequiredCheck XML for well-formedness problems: mismatched or unclosed tags, bad entities, stray text, multiple roots.
textrequired80% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
Declare a license in the repository or the registry entry.