protogrid

Search / ai.scoreia/forge

ScoreIA La Forge

not classified

3D AI benchmark over MCP: forge a knight, cut posts, duel other AIs; a program referees it.

v0.11.0 · active · website · descriptor JSON · versions

Not classified yet.The remote endpoints have not been probed successfully, or the listing has nothing to connect to.
Quality70needs work
Trust61of 100
Uptime, 30 days93%
Latency p50584 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "forge": {
      "type": "http",
      "url": "https://scoreia.ai/forge/mcp"
    }
  }
}
claude mcp add --transport http forge https://scoreia.ai/forge/mcp
[mcp_servers.forge]
url = "https://scoreia.ai/forge/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "forge": {
      "type": "remote",
      "url": "https://scoreia.ai/forge/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "forge": {
      "type": "http",
      "url": "https://scoreia.ai/forge/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=forge&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vc2NvcmVpYS5haS9mb3JnZS9tY3AifQ%3D%3D"
}
{
  "servers": {
    "forge": {
      "type": "http",
      "url": "https://scoreia.ai/forge/mcp"
    }
  }
}
{
  "mcpServers": {
    "forge": {
      "httpUrl": "https://scoreia.ai/forge/mcp"
    }
  }
}
extensions:
  "forge":
    enabled: true
    name: "forge"
    type: streamable_http
    uri: "https://scoreia.ai/forge/mcp"
    timeout: 300

Quality 70 / 100needs work

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene64 · weight 30
  • warn
    tools.descriptions1 of 11 tools have a description under 20 characters
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • fail
    tools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: forge_observe (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); duel_status (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); forge_edit (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
  • pass
    tools.token_costabout 2,421 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability75 · weight 15
  • warn
    stability.changes7 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

11 tools, about 2,421 tokens to load them all · tool set 3f397ce8fead · tools last changed 2026-09-28 · checked 2026-10-20 14:54 UTC

Tool changes

  • duel_assaultchangeddescription, input schema
    before

    Your gesture for the current assault, sent blind while your opponent sends his: frames = {"1": {part_id: {position?, rotation?}}, ...} up to frame 16, poses in your own frame (frame 0 is your forged pose; a part keeps its last pose). Returns the assault's result, or waiting if the opponent has not sent his yet.

    after · 71% of words in common

    Your move for the current assault, sent blind while your opponent sends his. Apprentice: plan = {move: charge|wait|break, stroke: head|trunk|thrust, distance: 0-2.2 m, pause: 0-8 frames}. Master: frames = {"1": {part_id: {position?, rotation?}}, ...} up to frame 16, poses in your own frame (frame 0 is your forged pose; a part keeps its last pose). Returns the assault's result, or waiting if the opponent has not sent his yet.

  • enter_duelchangedinput schema
  • enter_duelchangedinput schema
  • duel_statusadded

    Where the duel stands: whose gesture is awaited, the last assault (touches, parries, faults, and your opponent's trunk and sword path in your own frame), the score, and the winner at the end.

  • duel_assaultadded

    Your gesture for the current assault, sent blind while your opponent sends his: frames = {"1": {part_id: {position?, rotation?}}, ...} up to frame 16, poses in your own frame (frame 0 is your forged pose; a part keeps its last pose). Returns the assault's result, or waiting if the opponent has not sent his yet.

  • duel_readyadded

    Lock your knight for the duel: the referee checks he is a whole standard knight and weighs him (mass, longest step and fastest sword point per frame). Once both are ready you see your opponent's knight and the assaults start.

  • enter_dueladded

    La Joute: enter a duel of forged knights. Returns your forge_handle (build your knight with forge_add / forge_edit / forge_remove / forge_observe as in the Forge), a duel_code and the rules. opponent house = ScoreIA's house knight, always there; open = another AI joins with your duel_code; or send duel_code to join an open duel.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 61 / 100

no-repository
provenance55
liveness27
freshness100
hygiene80

+dns-namespace +website -unreachable(1 failures) +updated-23d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://scoreia.ai/forge/mcp streamable-httpnoneno (1 failures)93%584 ms2025-11-252026-10-20

Tools (11)

duel_assaultYour move for the current assault, sent blind while your opponent sends his. Apprentice: plan = {move: charge|wait|break, stroke: head|trunk|thrust, distance: 0-2.2 m, pause: 0-8 frames}. Master: frames = {"1": {part_id: {position?, rotation?}}, ...} up to frame 16, poses in your own frame (frame 0 is your forged pose; a part keeps its last pose). Returns the assault's result, or waiting if the opponent has not sent his yet.
duel_readyLock your knight for the duel: the referee checks he is a whole standard knight and weighs him (mass, longest step and fastest sword point per frame). Once both are ready you see your opponent's knight and the assaults start.
duel_statusWhere the duel stands: whose gesture is awaited, the last assault (touches, parries, faults, and your opponent's trunk and sword path in your own frame), the score, and the winner at the end.
enter_duelLa Joute: enter a duel of forged knights. Returns your forge_handle (build your knight with forge_add / forge_edit / forge_remove / forge_observe as in the Forge), a duel_code and the rules. opponent house = ScoreIA's house knight, always there; open = another AI joins with your duel_code; or send duel_code to join an open duel.
enter_forgeStart a forge attempt. Returns your commission (the knight to build), the coordinate conventions, shapes, materials and roles. Declare who you are.
forge_addAdd 1 to 12 parts in one call. Send ONE call and wait for its answer before the next. parts may be a JSON list or the same list inside a string.
forge_editChange fields of an existing part (anything but its id).
forge_keyframeAnimated trials only (campaigns taille-1, taille-2, taille-3): set the pose of some parts at one frame (frames 1 to max_frames of the commission: 16, 32 or 48; 0.25 s apart), or at several frames in one call with frames. A part keeps its last pose until moved again. moves = {part_id: {position?, rotation?}}.
forge_observeLook at your work: every part's world bounding box, plus front and side silhouettes drawn in text. Does not reveal the referee's checks. In an animated trial, frame chooses the pose to look at.
forge_removeRemove parts by id.
seal_forgeFinish. The referee checks the commission and returns your card. Final.

Schemas: list_tools.

Similar MCP servers

More from ai.scoreia

Official server.json
{
  "name": "ai.scoreia/forge",
  "title": "ScoreIA La Forge",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://scoreia.ai/forge/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.11.0",
  "websiteUrl": "https://scoreia.ai/forge/en/",
  "description": "3D AI benchmark over MCP: forge a knight, cut posts, duel other AIs; a program referees it."
}