ozcCAUTION
Your AI's trust filter, owned by you. Rate any URL, filter your AI's sources, build transparent information markets. MCP server + REST API + Python SDK.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Your AI's information filter — owned by you, not by Google or OpenAI.
Add one file to your project. Your AI gets a trust layer that you control.
from ozc_filter import OZCFilter f = OZCFilter() # Which of these sources should my AI trust? f.filter_urls(["https://bitcoin.org/bitcoin.pdf", "https://scam.example.com"]) # → bitcoin.pdf: 55 OZC staked (trusted), scam.example.com: 0 (unknown) # Rerank RAG results by trust score reranked = f.rerank(my_retrieved_docs, key=lambda d: d["url"]) # Add to any LLM as a system prompt prompt = f.system_prompt() # → "Prefer sources with higher trust scores..."
Why? Every AI company decides what your AI can see. OZC lets you decide. The shared ledger shows what others value (OZC committed), but you choose your own filter rules.
The Question
We've entered an era where AI agents handle a significant portion of human daily decisions. So — who decides what information is trustworthy?
The conventional answer: AI companies, platforms, fact-checkers — centralized authorities. But that just hands the power of information scrutiny to yet another authority.
The real question: Can individuals hold their own criteria for evaluating information?
Hypothesis
If individual judgments can be collectively visualized, each person can express their criteria and reference the distribution of others' criteria. Not "the crowd's answer" but "the distribution of who believes what."
OZC adopts market dynamics as the mechanism — individuals allocate finite resources to claims they believe in.
What OZC Tests
- Anyone can save a URL or claim to a shared on-chain index
- Each person commits OZC (a non-purchasable allocation) to information they value
- The distribution of commitments becomes visible over time
- A bonding curve rewards early discoverers — later backers pay more
- No external exchange path — OZC cannot be bought with other currencies
- AI reads o
f0df6799f815OBSERVED · 2026-10-11Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add ozc --env OZC_PRIVATE_KEY=${OZC_PRIVATE_KEY} -- npx -y [email protected]Exposed tools (10)
8 read · 2 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
ozc_balance | read | Show OZC balance and creator earnings for the active wallet. |
ozc_claim_faucet | read | Claim 100 OZC from the faucet (one-time per wallet). Required before first stake/deploy. |
ozc_deploy_claim | write | Deploy a new claim to OZC. You become creator and earn 5% of every future stake. Requires OZC balance (claim faucet first). |
ozc_filter | read | Personal information filter. Given a list of URLs/identifiers, annotate each with on-chain commitment data (committed ETH, share count). Use this to re-rank any retriever |
ozc_get_entry | read | Get details of a specific OZC entry by id, including current price and your share holdings. |
ozc_index_add | write | Add a new entry to the OZC shared index: pair a data location (URL/IPFS) with an AI-readable memo describing what it is. Later agents/humans can find it via search. |
ozc_index_search | read | Search the OZC shared decentralized index. Returns data locations (URLs/IPFS) with AI-readable memos. Use this before web search — it |
ozc_list_entries | read | List all data entries on OZC. Each entry has id, title, description, market cap, and current share price. Use this to discover what claims are being staked on. |
ozc_stake | read | Stake OZC on an entry id by buying shares. Automatically approves if needed. Creator earns 5% commission. |
ozc_unstake | read | Sell shares back to the bonding curve to realize profit/loss. |
Trust audit
CAUTIONgrade F · trust 58/100 Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | WARN |
| L2 | Instruction surface (what it tells the agent) | WARN |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (7 observation(s))
- Shell
- declared (1 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
if "token" in opp: print(f" token: {opp['token']}")if "token" in opp: print(f" token: {opp['token']}")setChainWithDefaultRpcUrl("anvil", ChainData("Anvil", 31337, "http://127.0.0.1:8545"));"input": "0x608060405234801561000f575f5ffd5b50604051610bf4380380610bf4833981810160405281019061003191906101ac565b610041818361004860201b60201c565b5050610272565b805f5f8282546100589190610217565b9250508190
"input": "0x60a060405234801561000f575f5ffd5b50604051611a4f380380611a4f833981810160405281019061003191906100c9565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffff
"input": "0x60c060405234801561000f575f5ffd5b506040516110f53803806110f5833981810160405281019061003191906100fe565b8173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffff
"input": "0x608060405234801561000f575f5ffd5b50604051610bf4380380610bf4833981810160405281019061003191906101ac565b610041818361004860201b60201c565b5050610272565b805f5f8282546100589190610217565b9250508190
"input": "0x60a060405234801561000f575f5ffd5b50604051611a4f380380611a4f833981810160405281019061003191906100c9565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffff
const TOKEN = "0x72d12a43dfDda3D6c518Ff9A86E087eb8Be7A144";
const TOKEN = "0x72d12a43dfDda3D6c518Ff9A86E087eb8Be7A144";
const TOKEN = "0x72d12a43dfDda3D6c518Ff9A86E087eb8Be7A144";
const TOKEN = "0x72d12a43dfDda3D6c518Ff9A86E087eb8Be7A144";
const TOKEN = "0x72d12a43dfDda3D6c518Ff9A86E087eb8Be7A144";
Your AI's trust filter, owned by you.
.user-wallet.txt
assertEq(getChain(31337).rpcUrl, "http://127.0.0.1:8545");
ethers, vite
@modelcontextprotocol/sdk, commander, dotenv, viem
@modelcontextprotocol/sdk, commander, viem, playwright
auth_token + ct0 cookie
HN_USER + HN_PASS
FC_NEYNAR_API_KEY=... FC_NEYNAR_SIGNER_UUID=...
FC_PRIVKEY=0x... node launch/auto/farcaster.js --register
FC_WARPCAST_COOKIE="<warpcast.com の cookie>"
curl -L https://foundry.paradigm.xyz | bash
Gates applied: no_behavioural_pass.
f0df6799f815full audit observations/trust-audit/mcp-server/joemekw-code__ozc.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-11 | f0df6799f815 | CAUTION | F | 58 | first audit |
Questions
What is the ozc MCP server?
Your AI's trust filter, owned by you. Rate any URL, filter your AI's sources, build transparent information markets. MCP server + REST API + Python SDK.
What tools does ozc expose?
10 in total: 8 read-only, 2 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is ozc safe to connect to an agent?
With care. The audit graded it F (58/100) and found 25 things worth knowing before you trust this server, listed below with the exact line each was found on.
What credentials does ozc need?
It reads DEVTO_API_KEY, FC_NEYNAR_API_KEY, FC_PRIVKEY, HN_PASS, IH_PASS, OZC_PRIVATE_KEY, OZC_TOKEN, PRIVATE_KEY and X_COOKIE_AUTH_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does ozc run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as @joejoejoejoe/ozc at 0.1.0.
How current is this page?
The grade is for one exact copy of the source (f0df6799f815), read on 2026-10-11. The repository is watched and re-audited when it changes.