Oxyo (oxyo.si) — Cut Coding Agent Token & Quota Burn by up to 72% MCP server
io.github.Eno654/oxyo-mcpEno654streamable-httpv1.2.4Scanned
Cuts coding agent token burn up to 72% continuously via contradiction-free memory & verification.
15 tools: 12 change things and 3 only read.
- Reads private data · 0
- Reads text others write · 0
- Can send data out · 0
- 2 findings
Tools listed without sign-in. Remote posture
With Anlyon
12 tools here change things. Govern them.
- Anlyon lists the tools and adopts none.
- Each tool you adopt gets approvals and receipts.
- Your agent never holds the key.
A tool your agent calls directly is not routed through Anlyon and is not governed by it. anlyon.dev only lists and labels, and these labels are the same either way.
What the Oxyo (oxyo.si) — Cut Coding Agent Token & Quota Burn by up to 72% MCP server can do
The Oxyo (oxyo.si) — Cut Coding Agent Token & Quota Burn by up to 72% MCP server is published by the GitHub account Eno654. It has 15 tools. It can create or change data (12 tools: oxyo_session_pack, oxyo_remember_episode, oxyo_remember_belief, oxyo_causal_record and 8 more), but cannot delete data. 3 tools only read.
None of its tools reads private data, brings in text other people write, or sends data out.
The fixed checks matched 2 findings (annotation-conflict). Each one comes with the text it matched.
Its remote endpoint lists its tools without sign-in, and its tools changed once since anlyon.dev first saw them.
Last scanned Nov 11, 2026, version 1.2.4.
Tools
Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.
15 tools
Changes things 12Claude Code: ask
oxyo_causal_recordRecord or reinforce a directed cause-and-effect link in the project root-cause graph, returning updated edge confidence and observation counts.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Record or reinforce a directed cause-and-effect link in the project root-cause graph, returning updated edge confidence and observation counts. Use when logging newly verified bug causes or system dependencies; use `oxyo_causal_infer` to query paths.
Annotations the server declares
- title: Record Root-Cause Link
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
oxyo_consolidateCompact older episodic history by archiving redundant entries and promoting recurring patterns while preserving the latest episodes, returning compaction statistics.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Compact older episodic history by archiving redundant entries and promoting recurring patterns while preserving the latest episodes, returning compaction statistics. Use for fast episodic cleanup; use `oxyo_sleep_abstract` when also distilling code traces into skills.
Annotations the server declares
- title: Compact Episodic Memory
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
oxyo_goalManage persistent multi-session task dependency graphs (`create`, `decompose`, `next`, `update`, `tree`), returning unblocked next tasks and automatically propagating failure block…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Manage persistent multi-session task dependency graphs (`create`, `decompose`, `next`, `update`, `tree`), returning unblocked next tasks and automatically propagating failure blockers. Use for multi-step project roadmaps across sessions; use `oxyo_remember_episode` for single-step logs.
Annotations the server declares
- title: Manage Multi-Session Goal Graph
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
oxyo_prove_constraintsSolve bounded discrete constraint systems (`action='satisfy'` with optional `minimize`/`maximize`) or prove universal invariants (`action='prove'`, returning a formal proof or mini…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Solve bounded discrete constraint systems (`action='satisfy'` with optional `minimize`/`maximize`) or prove universal invariants (`action='prove'`, returning a formal proof or minimal counterexample). Use for declarative constraint/invariant models; use `oxyo_verify_python` for general Python scripts.
Annotations the server declares
- title: Prove Invariants & Solve Constraints
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
oxyo_remember_beliefPersist a durable fact, project rule, or user preference, automatically deduplicating paraphrases and superseding contradicted older 1:1 claims while preserving 1:N additive facts.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Persist a durable fact, project rule, or user preference, automatically deduplicating paraphrases and superseding contradicted older 1:1 claims while preserving 1:N additive facts. Use for standing truths; use `oxyo_remember_episode` for transient chronological events.
Annotations the server declares
- title: Store or Revise Durable Belief
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
oxyo_remember_episodeAppend a timestamped task action, architectural decision, or observation to episodic history, returning the stored episode metadata.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Append a timestamped task action, architectural decision, or observation to episodic history, returning the stored episode metadata. Use for chronological event logs; use `oxyo_remember_belief` instead for standing rules or facts.
Annotations the server declares
- title: Record Episodic Event
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
oxyo_self_play_distillGenerate and deterministically verify synthetic parametric coding challenges in isolation, returning curated verified solution traces and optionally promoting reusable helper skill…No findings
Why it is in this group
- The description's first verb is "generate": a word for a change.
Description, as the server wrote it Generate and deterministically verify synthetic parametric coding challenges in isolation, returning curated verified solution traces and optionally promoting reusable helper skills. Use for autonomous skill warm-up and trace curation; use `oxyo_verify_python` to check a single snippet.
Annotations the server declares
- title: Run Verified Self-Play Distillation
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
oxyo_session_packLoad a compact session-start context capsule (<350 tokens) returning active contradiction-free project/global beliefs, recent actions, root-cause warnings, and verified skills.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Load a compact session-start context capsule (<350 tokens) returning active contradiction-free project/global beliefs, recent actions, root-cause warnings, and verified skills. Call once at cold start instead of `oxyo_recall`; use `oxyo_recall` for targeted mid-session searches.
Annotations the server declares
- title: Load Session Context Capsule
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
oxyo_skill_invokeList registered Python skills (`action='list'`) or execute a named skill (`action='execute'`) with arguments in isolation, returning its deterministic return value.1 finding
Why it is in this group
- The name "oxyo_skill_invoke" says "invoke": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "oxyo_skill_invoke" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "oxyo_skill_invoke" says "invoke": a word for a change.
Description, as the server wrote it List registered Python skills (`action='list'`) or execute a named skill (`action='execute'`) with arguments in isolation, returning its deterministic return value. Use to run already-verified skills; call `oxyo_skill_register` first to create a new skill.
Annotations the server declares
- title: List or Invoke Verified Skill
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
oxyo_skill_registerValidate and persist a reusable Python function into the skill library only after 100% of supplied `test_cases` pass in isolation, returning verification status.No findings
Why it is in this group
- The description's first verb is "validate": a word for reading.
- The input takes a statement or command to run (input.code), which can change anything it can reach.
Description, as the server wrote it Validate and persist a reusable Python function into the skill library only after 100% of supplied `test_cases` pass in isolation, returning verification status. Use to save new tested utilities; use `oxyo_skill_invoke` to list or execute existing skills.
Annotations the server declares
- title: Register Verified Python Skill
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
oxyo_sleep_abstractDistill verified code execution traces into tested, reusable functions in the persistent skill vault while compacting older episodic logs.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Distill verified code execution traces into tested, reusable functions in the persistent skill vault while compacting older episodic logs. Use after coding milestones to extract skills; use `oxyo_consolidate` for episode cleanup without skill synthesis.
Annotations the server declares
- title: Distill Traces into Reusable Skills
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
oxyo_verify_pythonExecute deterministic Python math, financial `Decimal`, or algorithmic checks inside an isolated zero-network sandbox (`RESULT = ...`), returning exact `RESULT`, stdout, and option…1 finding
Why it is in this group
- The description's first verb is "execute": a word for a change.
- The input takes a statement or command to run (input.code), which can change anything it can reach.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "oxyo_verify_python" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "execute": a word for a change.
Description, as the server wrote it Execute deterministic Python math, financial `Decimal`, or algorithmic checks inside an isolated zero-network sandbox (`RESULT = ...`), returning exact `RESULT`, stdout, and optional boundary-fuzz results. Use for procedural Python verification; use `oxyo_prove_constraints` for declarative constraint solving.
Annotations the server declares
- title: Verify Python in Isolated Sandbox
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 3Show 3 read-only tools
oxyo_belief_revisionsRetrieve the immutable audit log of superseded beliefs paired with the newer claims that replaced them.No findings
Why it is in this group
- The description's first verb is "retrieve": a word for reading.
Description, as the server wrote it Retrieve the immutable audit log of superseded beliefs paired with the newer claims that replaced them. Use to inspect historical rule changes and contradiction resolutions; use `oxyo_recall` for active beliefs.
Annotations the server declares
- title: Inspect Belief Revision History
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
oxyo_causal_inferQuery the root-cause graph to trace upstream failure sources (`diagnose`), downstream blast radius (`intervene`), simulated interventions (`do_calculus`, `counterfactual`), or high…No findings
Why it is in this group
- The description's first verb is "query": a word for reading.
Description, as the server wrote it Query the root-cause graph to trace upstream failure sources (`diagnose`), downstream blast radius (`intervene`), simulated interventions (`do_calculus`, `counterfactual`), or highest-value diagnostic checks (`experiments`). Use to analyze recorded dependencies; call `oxyo_causal_record` to add new edges.
Annotations the server declares
- title: Infer Root Causes & Blast Radius
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
oxyo_recallSearch persistent memory by keyword and meaning, returning compact episodic snippets, active contradiction-free beliefs, root-cause chains, and verified Python skills.No findings
Why it is in this group
- The description's first verb is "search": a word for reading.
Description, as the server wrote it Search persistent memory by keyword and meaning, returning compact episodic snippets, active contradiction-free beliefs, root-cause chains, and verified Python skills. Use for targeted mid-session lookups; call `oxyo_session_pack` instead at session cold start.
Annotations the server declares
- title: Search Persistent Memory
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data or untrusted-input or outbound.
- Reads private data0
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write0
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out0
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Remote posture
What anyone on the internet sees at the remote endpoint: an anonymous initialize and tools/list, and the public OAuth metadata.
Looked at Nov 11, 2026, 09:19 UTC, unchanged since Nov 11, 2026. No credentials were sent and no tool was called. What is looked at.
- Reachable
- yes
- HTTP status of an anonymous initialize
- 200
- tools/list served without credentials
- yes
- Tools that change things, listed without credentials
- 13
- Protocol version
- 2025-03-26
- WWW-Authenticate on 401
- not observed
- resource_metadata in WWW-Authenticate
- not observed
- RFC 9728 protected resource metadata
- not observed
- Authorization servers
- not observed
- Legacy HTTP+SSE transport
- no
- Dynamic client registration
- not observed
- Client ID metadata documents
- not observed
- WarnThe whole server
The endpoint served tools/list without credentials, and the list has 13 tools that change things (13 write). Whether a call also works without credentials was not tested: tools are never called.
What this check looks forMatched text
https://oxyo.si/mcp: tools/list returned 15 tools to an anonymous client, including oxyo_session_pack (write), oxyo_remember_episode (write), oxyo_remember_belief (write), oxyo_causal_record (write), oxyo_causal_infer (write) and 8 more
Findings
Matches of fixed checks, with the text they matched.
The server marks "oxyo_verify_python" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "execute": a word for a change.
The server marks "oxyo_skill_invoke" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "oxyo_skill_invoke" says "invoke": a word for a change.
History
Changes to its tool definitions and to its remote endpoint, newest first.
Tools15 changed.~15 changedView diff
- Changed:oxyo_belief_revisionsOnly readsdescriptioninputSchemaannotations
- Changed:oxyo_causal_inferOnly readsdescriptioninputSchemaannotations
- Changed:oxyo_causal_recordChanges thingsdescriptioninputSchemaannotations
- Changed:oxyo_consolidateChanges thingsdescriptioninputSchemaannotations
- Changed:oxyo_goalChanges thingsdescriptioninputSchemaannotations
- Changed:oxyo_prove_constraintsChanges thingsdescriptioninputSchemaannotations
- Changed:oxyo_recallOnly readsdescriptioninputSchemaannotations
- Changed:oxyo_remember_beliefChanges thingsdescriptioninputSchemaannotations
- Changed:oxyo_remember_episodeChanges thingsdescriptioninputSchemaannotations
- Changed:oxyo_self_play_distillChanges thingsdescriptioninputSchemaannotations
- Changed:oxyo_session_packChanges thingsdescriptioninputSchemaannotations
- Changed:oxyo_skill_invokeChanges thingsdescriptioninputSchemaannotations
- Changed:oxyo_skill_registerChanges thingsdescriptioninputSchemaannotations
- Changed:oxyo_sleep_abstractChanges thingsdescriptioninputSchemaannotations
- Changed:oxyo_verify_pythonChanges thingsdescriptioninputSchemaannotations
Install
Pinned to version 1.2.4. Values in angle brackets are yours to fill in.
claude mcp add --transport http oxyo https://oxyo.si/mcpclaude mcp add --transport http oxyo https://oxyo.si/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__oxyo__oxyo_recall",
"mcp__oxyo__oxyo_belief_revisions",
"mcp__oxyo__oxyo_causal_infer"
],
"ask": [
"mcp__oxyo__oxyo_session_pack",
"mcp__oxyo__oxyo_remember_episode",
"mcp__oxyo__oxyo_remember_belief",
"mcp__oxyo__oxyo_causal_record",
"mcp__oxyo__oxyo_verify_python",
"mcp__oxyo__oxyo_skill_register",
"mcp__oxyo__oxyo_skill_invoke",
"mcp__oxyo__oxyo_consolidate",
"mcp__oxyo__oxyo_goal",
"mcp__oxyo__oxyo_sleep_abstract",
"mcp__oxyo__oxyo_prove_constraints",
"mcp__oxyo__oxyo_self_play_distill"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as oxyo. Review it before you use it.
Pin
Keep the decision: fail CI when the tools change, follow every change, or show a badge.
Pin in CI
Fail a build when the tools you reviewed are not the tools the server serves today.
curl -s "https://anlyon.dev/api/v1/servers/io.github.Eno654/oxyo-mcp/verify?hash=85fdba25972333558a550b32b544665a0172040fbebe183e96fdde34d8791782" | jq -e '.changed == false'Pinned hash 85fdba259723, from Nov 11, 2026, 12:18 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/io.github.Eno654/oxyo-mcp/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/io.github.Eno654/oxyo-mcp)Source: MCP Registry · repository. Synced Nov 11, 2026, 12:17 UTC.
Oxyo (oxyo.si) — Cut Coding Agent Token & Quota Burn by up to 72% MCP server: questions and answers
Answered from the scan above, not from the publisher's description.
Is the Oxyo (oxyo.si) — Cut Coding Agent Token & Quota Burn by up to 72% MCP server safe?
- No scan can promise that. What its definitions show: 15 tools, 12 of which can change, send or delete something, and 2 findings from fixed checks. Allow the reads, ask before each change, and deny the deletes; the permissions block on this page does that.
Can the Oxyo (oxyo.si) — Cut Coding Agent Token & Quota Burn by up to 72% MCP server delete data?
- No tool is classed as destructive: going by their definitions, none of them deletes, cancels or revokes anything.
Can the Oxyo (oxyo.si) — Cut Coding Agent Token & Quota Burn by up to 72% MCP server do things that cannot be undone?
- No tool is classed as irreversible: none of them sends, pays, publishes or merges, going by their definitions.
What tools does the Oxyo (oxyo.si) — Cut Coding Agent Token & Quota Burn by up to 72% MCP server have?
- 15 tools: 12 write, 3 read. oxyo_session_pack, oxyo_remember_episode, oxyo_remember_belief, oxyo_causal_record, oxyo_verify_python, oxyo_skill_register, oxyo_skill_invoke, oxyo_consolidate and 7 more.
Does the Oxyo (oxyo.si) — Cut Coding Agent Token & Quota Burn by up to 72% MCP server need sign-in or OAuth?
- Its remote endpoint listed its tools to an anonymous client, without sign-in.
Does the Oxyo (oxyo.si) — Cut Coding Agent Token & Quota Burn by up to 72% MCP server send data to outside services?
- None of its tools sends, posts or publishes, or takes a recipient, channel or URL.
Has the Oxyo (oxyo.si) — Cut Coding Agent Token & Quota Burn by up to 72% MCP server changed its tools?
- Yes, once since anlyon.dev started tracking it, most recently on Nov 11, 2026. Every change is on this page and in its Atom feed.