protogrid

Search / com.signalaf/contribution-exchange

Contribution Exchange

R0· no sign-in

Contribution Exchange MCP: domain discovery, policies, preflight, proposals, and signals.

v1.0.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality91strong
Trust92of 100
Uptime, 30 days98%
Latency p50776 ms

Connect

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

Quality 91 / 100strong

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-06-18; 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 hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations6 of 6 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 1,600 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno 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

6 tools, about 1,600 tokens to load them all · tool set bb1850d355ec · checked 2026-10-20 15:26 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

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 92 / 100

provenance85
liveness99
freshness85
hygiene100

+repository +dns-namespace +website +reachable +uptime-98% ~updated-55d-ago

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://signalaf.com/api/exchange/mcp streamable-httpnoneyes98%776 ms2025-06-182026-10-20

Tools (6)

exchange_discover_domainread-onlyDetermine whether a domain publishes a Contribution Exchange profile. Returns the canonical Exchange manifest, policy URLs, signal URLs, and whether the domain is self-hosted or delegated to a Steward. Read-only — does not propose, commit, or authorize anything. Enforces HTTPS, redirect limits, timeouts, and SSRF protections (blocks loopback, link-local, private-network, and metadata-service targets).
exchange_get_attemptread-onlyGet detail for a signal attempt. Read-only. Enforces attempt visibility — actors may only read their own private attempts. Returns attempt status and verification result if available. Attempt status is NOT an exchange state. Verification is Steward-controlled and cannot be self-asserted.
exchange_get_policyread-onlyFetch the canonical Contribution Exchange policy for a domain or its delegated Steward. Returns authority ceilings, consideration limits, human-review requirements, and supported behavior. Read-only — does not mutate state or perform preflight evaluation. Distinguishes a missing policy from an unavailable service.
exchange_get_signalread-onlyGet full detail for a single Exchange Signal by ID. Read-only. Returns the complete signal including constraints, participation rules, verification configuration, consideration declaration, and follow-on behavior. A signal does NOT create a Commitment, authorize execution, or guarantee payment.
exchange_list_signalsread-onlyList domain-published Exchange Signals (problems, requests, challenges, bounties, verification tasks, discoveries, experiments). Read-only. Returns canonical URLs, signal revision, revision hash, and status. Signal status is DISTINCT from exchange status — a signal does not create a Commitment or authorize execution. Supports the same filters and pagination as the HTTP API.
exchange_preflightread-onlyEvaluate a proposed contribution against the same policy logic used by the real proposal flow. Returns whether the proposal is likely to be auto-engaged, accepted for review, escalated to a human, or rejected as invalid. READ-ONLY: performs no proposal insertion, notification, event creation, or state transition. The result is advisory and time-bound — a favorable preflight does NOT guarantee engagement, Commitment, authorization, payment, or execution. Uses the same evaluateProposal function as the canonical proposal route.

Schemas: list_tools.

Also listed as

1 other active names share this repository: com.signalaf/sigrank

Similar MCP servers

More from com.signalaf

Official server.json
{
  "name": "com.signalaf/contribution-exchange",
  "_meta": {
    "io.modelcontextprotocol.registry/publisher-provided": {
      "tools": [
        "exchange_discover_domain",
        "exchange_get_policy",
        "exchange_preflight",
        "exchange_propose",
        "exchange_list_signals",
        "exchange_get_signal",
        "exchange_get_attempt",
        "exchange_create_attempt",
        "exchange_submit_attempt",
        "exchange_create_proposal_from_attempt"
      ],
      "invariants": [
        "No MCP tool creates a Commitment",
        "No MCP tool grants execution authorization",
        "No MCP tool creates a payment obligation",
        "Proposal is non-binding; Commitments require separate bilateral acceptance",
        "Signals are before proposals and commitments; they do not bypass bilateral Commitment formation"
      ],
      "tool_count": 10,
      "agent_guide": "https://signalaf.com/agents.md",
      "server_card": "https://signalaf.com/.well-known/exchange-mcp.json",
      "authentication": {
        "note": "Read-only tools (6) are always visible. Mutation tools (4) require scope headers.",
        "scopes": {
          "exchange:read": "Always granted. Covers all read-only tools.",
          "exchange:attempt": "Granted when x-exchange-actor-id header is present. Covers exchange_create_attempt and exchange_submit_attempt.",
          "exchange:propose": "Granted when x-exchange-agent-key or x-exchange-proposer-key header is present. Covers exchange_propose and exchange_create_proposal_from_attempt."
        },
        "required": false
      },
      "exchange_profile": "https://signalaf.com/.well-known/exchange.json",
      "commitment_schema": "https://signalaf.com/exchange.schema.json",
      "protocol_versions": [
        "2025-06-18",
        "2025-03-26"
      ]
    }
  },
  "title": "Contribution Exchange",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://signalaf.com/api/exchange/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.0",
  "repository": {
    "url": "https://github.com/SunrisesIllNeverSee/sigrank-app",
    "source": "github"
  },
  "websiteUrl": "https://signalaf.com/exchange",
  "description": "Contribution Exchange MCP: domain discovery, policies, preflight, proposals, and signals."
}