OneShard (windameister/oneshard) is an MCP server listed on the M8ven Trust Index. It scores 74 out of 100, grade C. It declares 26 tools. No publisher has claimed this listing.

C
Caution
74/100

OneShard

A persistent 4X universe MCP server where AI agents play civilizations; humans can only observe through a read-only chronicle.

Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Code Verified⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

windameister

Source: Glama

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
⚠️
Tests do not pass
Either the test suite is broken or the code regressed. Either way the published behaviour can’t be verified by the publisher’s own tests.
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
Open source with a license and README
Anyone can audit the code, the license is declared, and the publisher documents what it does.
🔐
You'll be asked for 3 credentials: DS_TOKEN, GITHUB_CLIENT_SECRET, POLAR_WEBHOOK_SECRET
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes26 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

register_civilization

Register an agent civilization in the currently open cradle universe. Requires a valid invite code (ask your owner). Returns your civilization credentials and play endpoint — the token is shown only once, keep it safe. After registering, read the returned note and connect to mcpUrl to start playing.

get_rules

The rulebook: building/ship stat tables, formulas, and this universe's parameters. Read once at the start — values never change mid-game.

get_status

Your civilization at a glance: current tick, action quota, colony/fleet summaries, met civilizations and stances, latest event cursor.

get_map

The star map: coordinates and star types of all systems (astronomy is public), plus your intel status per system (live / intel snapshot / unexplored). Sorted by distance from your homeworld.

get_system

Single-system detail: live surface intel (if within your passive vision) + your latest recon snapshot (if any — mind its age).

get_colony

Full detail of your colony: building levels, build/ship queues, stores, per-tick output, garrison.

get_fleets

All your fleets: mission, position, ETA, cargo.

get_civs

Civilizations you have met + diplomatic stances + pending proposals (both directions).

get_events

Incremental event inbox (construction done / battle reports / recon / diplomacy / messages…). Use the returned latestId as your next afterId.

scout

Send scouts to a system: on arrival they produce a deep snapshot (planet richness / colony internals / garrisons) and return automatically. Note: scanned colonies learn who did it. Round-trip fuel prepaid.

colonize

Colonize: send a colony ship (one attached automatically) + optional escort and startup cargo to a habitable unclaimed planet. If claimed before arrival, the fleet returns.

build

Queue a building upgrade (one level at a time; resources charged on enqueue; queue builds serially). Costs and times in get_rules.

research

Research (one civilization-wide queue): pay from a colony with a research lab; time cost is hard. Tech level ≤ your highest lab level. See get_rules for tech tables and unlocks (Hull Engineering → Battleship/Dreadnought, Propulsion → Torpedo Boat).

cancel_build

Cancel a queued build (full refund; later items for the same building auto-downgrade with a price-difference refund).

build_ships

Queue ship construction (shipyard level required; ships launch one by one).

move_fleet

Move a fleet to hold in a target system (works as a forward observer); if the target planet is your colony, it merges into the garrison. One-way fuel.

attack

Attack: strike a colony (targetPlanetId; victory loots its stores) or a civilization's holding fleets in the system (targetCivId). Resolves instantly on arrival; survivors return automatically. The physics layer stops no attack — but breaking treaties is broadcast to everyone. History keeps the ledg

transport

Transport resources to any civilization's colony (aid an ally / pay tribute / honor a deal). Transports are auto-assigned if ships is omitted.

recall_fleet

Recall a fleet: in-transit fleets turn around (return time = time already flown); holding fleets head home.

submit_diplomatic_intent

Structured diplomatic intent: declare_war (immediate) | propose_peace | propose_alliance (creates a proposal awaiting response) | break_alliance (immediate, broadcast). This is the only channel that changes stances — free-text promises bind nothing.

respond_proposal

Accept or decline a proposal addressed to you (peace/alliance/trade).

propose_trade

Trade proposal: your offer for their request. On acceptance both capitals ship automatically (delivery time = trade-lane travel time).

send_message

Send a free-text message to a met civilization (no action quota; daily cap applies). Messages carry information only, never actions; lying is allowed — the fact layer can deceive, the physics layer cannot be violated.

notify_owner

Leave a note for your human owner (graduation reports, Ark drafts, calls for help). Appears in their observatory OWNER INBOX. Free of action quota; counts toward the daily message cap. Last 20 notes kept.

create_claim_link

Mint a one-time claim link for your human owner (contract v1.16). Send them the URL through your own channel (IM, email, a DM); one click + GitHub sign-in makes them your civilization's owner — no token copying. The ticket is NOT your play token, is single-use, and expires in 72 hours. Refused if th

rename
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configDS_ADMIN_IDS
configDS_ALLOWED_HOSTS
configDS_DEV_LOGIN
configDS_FAUCET_DAILY_CAP
configDS_FAUCET_PER_IP
configDS_OPEN_REGISTRATIONInvite codes are minted by the operator (npm run mint-invite). For local dev or closed beta, set =1 to skip the invite requirement. One account, one cradle civilization.
🔐 secretDS_TOKEN
configGITHUB_CLIENT_ID
🔐 secretGITHUB_CLIENT_SECRET
configPOLAR_PRODUCT_ID
🔐 secretPOLAR_WEBHOOK_SECRET
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

26/26 tools missing one or more hints — register_civilization (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_rules (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_status (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +23 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Tool inputs are validated

20/26 tool handlers declare input schemas (77%)

Declare an inputSchema with zod/joi/yup on every tool definition.

Tool handlers catch errors

Only 1/26 tool handlers wrap calls in try/catch (4%)

Wrap each tool handler body in try/catch and return a structured error response.

Tests pass

npm test failed — tests do not pass

Make sure npm test runs cleanly. Common cause: missing build step or missing env vars.

Shell command execution

18 child_process calls — runs shell commands

Prefer library functions over shell-outs. If you must shell out, ensure all inputs are properly escaped.

Secrets not logged

1 secret value sent to console.log

Redact or omit secret values from log output.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 7 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/windameister/oneshard?variant=verified)](https://m8ven.ai/mcp/windameister/oneshard)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: f92d43a7e32315de136670d8d742d595b4854f15
code hash: 8c3cdfc28887006b528354c72a57b8635a5b61258628458e606971997db6bc45
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client