Contribution Exchange

com.signalaf由 signalaf.com 發布官方發布者v1.0.0更新於 Nov 2, 2026

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

已驗證Streamable HTTP可網頁執行網頁搜尋與抓取商業與電商

概覽

AI 產生的概覽

唯讀的遠端 MCP 伺服器,用來查詢 SignalAF Contribution Exchange 的網域、政策、訊號與預檢結果。

可以做什麼
  • 查詢某個網域是否發布 Contribution Exchange 設定檔,以及是自架還是委由 Steward 代管
  • 取得網域或受託 Steward 的政策,包含權限上限、對價限制與人工審核要求
  • 列出並讀取已發布的 Exchange 訊號,例如問題、請求、懸賞與驗證任務
  • 依政策邏輯評估擬提交的貢獻,判斷可能被自動受理、進入審核、升級人工或判定無效
  • 查詢訊號嘗試的詳細內容與驗證結果,並受可見性規則限制
適用情境
適合在起草貢獻提案前先了解某網域的貢獻條款與開放訊號,或在不提交任何內容的情況下依政策核對一份貢獻。六個工具皆為唯讀,因此更適合研究與規劃,而非直接對網域採取行動。
執行需求
需要連線到 signalaf.com 上的遠端 streamable HTTP 端點;未宣告任何套件、環境變數或請求標頭。需要能存取該端點的網路。README 另提到獨立的 CLI/MCP 套件與網站登入註冊流程,但不屬於此伺服器宣告的設定。
安裝前請注意
工具被描述為唯讀,不會代為提案、提交、授權或付款。訊號與嘗試狀態不等於承諾或付款保證,驗證由 Steward 控制。嘗試查詢僅限自己的私有嘗試。README 指出相關平台的提交會攜帶身分、裝置/簽章與報告中繼資料。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Contribution Exchange,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.signalaf%2Fcontribution-exchange/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "contribution-exchange": {
      "type": "http",
      "url": "https://signalaf.com/api/exchange/mcp"
    }
  }
}

README

SignalAF · SigRank web app

Browse AI operator token telemetry, explore personal profiles, and compare token-cascade metrics on signalaf.com.

[CI] [npm] [License: MIT]

Live site · Leaderboard · Methodology · CLI & MCP · Local setup

This repository contains the Next.js application: the leaderboard homepage, operator profiles, Compare, Hall of Signal, editorial pages, accounts, billing, and server APIs.

Explore the site

SurfaceWhat you can do
Leaderboard / homepageFilter the field by window and platform; inspect RAW and derived metrics
Operator profilesView personal stats, submission history, badges, and account settings
CompareExamine two operators' telemetry and metric differences
Hall of SignalBrowse records and the badge directory
SigRank overviewUnderstand the measurement and enrollment flow
Field, Articles, Blog, WikiRead research, explanations, and metric definitions

Some features are gated; see Feature flags. This README describes the source tree, not a promise that every optional integration is configured on every deployment.

Get your own results

You do not need to clone this application to use it. Run the CLI/MCP package:

bash
npx sigrank                       # inspect local usage in the terminalnpx sigrank enroll                # bind your device using a Settings connect codenpx sigrank submit --dry-run      # inspect the payload without sending itnpx sigrank submit                # publish a signed snapshot

Sign in at signalaf.com to create a connect code. Claims for profiles from the original board require ownership verification through [email protected].

What is measured

Four token pillars feed the cascade: input, output, cache-write, and cache-read. Yield is calculated as:

text
Υ = (cache_read × output) / input²

The server verifies and re-scores submissions. Leverage, Velocity, SNR, and 10xDEV describe token-processing patterns; they are not measures of model quality, work quality, productivity, or business outcomes.

Upsilon is the measurement engine; SigRank is the public leaderboard and proof surface on SignalAF. Protocol semantics belong to TTEOP. See the methodology and wiki for definitions and limitations.

Ranked telemetry does not require prompt text, responses, or source code. Submissions also carry identity, device/signature, platform, and report metadata; see the CLI privacy details.

Stack

  • Next.js 16 App Router, React 19, TypeScript (strict)
  • Tailwind CSS 3
  • Supabase (Postgres, Auth, Realtime)
  • Stripe Checkout, Billing Portal, webhooks
  • Upstash Redis for rate limiting (Supabase Postgres fallback)
  • zod, Node test runner, Vitest, Playwright

Local setup

Requires Node 22.x (engines in package.json, .nvmrc).

bash
npm installcp .env.example .env.local   # optional; see Environmentnpm run dev                  # http://localhost:3000

Unconfigured local development can use snapshot or demo data on supported read paths. This is not live telemetry. Live board data, authentication, signed writes, and billing need their corresponding services configured. A configured database with no matching records returns an empty result rather than a fabricated operator history.

Scripts

CommandWhat it does
npm run devStart the dev server
npm run buildBuild for production (next build --webpack)
npm run startServe the production build
npm run lintRun ESLint
npm testRun the Node test suites in __tests__/
npm run test:uiRun Vitest component tests
npm run test:canonicalCheck canonical ingest parity (MO§ES Υ 18436.98)
npm run test:coverageRun npm test with c8 coverage
npm run e2eRun Playwright tests (e2e:local targets localhost:3000)
npm run verifyRun tsc --noEmit, the canonical test, and npm test
npm run db:parityCheck local migrations against the remote ledger (db:parity:ci for CI)
npm run snapshotRefresh the cold-store board snapshot
npm run sitemap:validateValidate the sitemap (:live checks production)

Before opening a PR, run npm run verify and npm run build.

Environment

Copy .env.example to .env.local. It lists every variable with notes. Never commit values. Production values live in Vercel environment variables.

VariableUsed for
NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEYLive Supabase reads and service-role writes. The server client needs all three.
STRIPE_SECRET_KEY, NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY, STRIPE_WEBHOOK_SECRET, STRIPE_PRICE_*Billing and webhooks
NEXT_PUBLIC_SITE_URLStripe redirects and public URLs
UPSTASH_REDIS_REST_URL, UPSTASH_REDIS_REST_TOKEN (or Vercel's KV_REST_API_URL, KV_REST_API_TOKEN)Shared rate limiter. Without Upstash, the limiter uses Supabase Postgres (api_rate_limit_hit, migration 0055), then a per-instance in-memory counter. Sensitive write routes fail closed.
SIGRANK_RULESETServer-only RS.xx scoring overrides
SIGRANK_API_KEYTrusted bulk-read key for the public API (x-api-key)
SIGRANK_INGEST_WRITE1 enables persistence of verified snapshots to the board.
CRON_SECRETBearer token for /api/cron/recompute
NEXT_PUBLIC_POSTHOG_KEY, NEXT_PUBLIC_POSTHOG_HOST, POSTHOG_KEYProduct analytics
RESEND_API_KEY, *AGENTMAIL_API_KEYContact form and exchange email
ALGOLIA_*, EXA_API_KEY, MOTHERDUCK_*, AI_GATEWAY_*, VERCEL_CLIENT_*, SIGNALAF_LIVE_TOKENSearch, enrichment, analytics, AI gateway, Vercel integration, live demo
NEXT_PUBLIC_REALTIME_ENABLEDSet to false to disable live board updates

Feature flags

lib/features.ts defines the flags. All gated flags default to off and accept 1 or true.

FlagGates
NEXT_PUBLIC_GATE_CHALLENGESThrow-down challenges. Also needs NEXT_PUBLIC_GATE_ARENA. Off: /api/v1/challenges returns 404.
NEXT_PUBLIC_GATE_ARENAChallenge submission interface (required with the challenges gate)
NEXT_PUBLIC_GATE_SIGNAL_DROPWeekly signal drop
NEXT_PUBLIC_GATE_BRACKETSBlind bracket / Circle Wars
NEXT_PUBLIC_GATE_TRADING_CARD_SPECIESSpecies badge on trading cards

Database and migrations

Migrations live in supabase/migrations/. Use that directory and npm run db:parity for the current schema and remote-ledger status rather than relying on a hard-coded migration count. Apply required migrations before deploying code that depends on them; review the pending SQL and target project first.

Row Level Security policies, seed data, and security tests live in supabase/. See supabase/README.md to run your own instance.

Project map

PathContents
app/App Router pages and API routes
app/api/v1/Public API: ingest, claim, devices, billing, metrics, leaderboard
app/api/mcp/, app/api/plugins/sigrank/mcp/, app/api/exchange/mcp/MCP endpoints (main server, analyst plugin, exchange)
app/exchange/, app/api/exchange/Contribution exchange UI and API
components/UI components
lib/board/Board reads: Supabase, snapshot, mock fallback
lib/ingest/Payload parsing, signature checks, cascade materialization
lib/analytics/Scoring engine and server-only ruleset boundary
lib/exchange/, lib/exchange-gateway/Exchange server logic and portable gateway reference
lib/infra/Supabase clients, Stripe, rate limiting, API gates
supabase/Migrations, policies, seeds, SQL tests, edge functions
__tests__/, e2e/Node, Vitest, and Playwright tests

Development conventions:

  • Pages are server components by default. Add 'use client' only for hooks, handlers, or browser APIs.
  • Keep RS.xx scoring configuration out of client code.
  • Avoid random values and wall-clock reads at module scope.

Deployment

Pushes to main deploy to Vercel (vercel.json). A daily cron calls /api/cron/recompute. Set environment variables in Vercel. An OpenNext Cloudflare path exists (npm run preview, npm run deploy, wrangler.jsonc).

Security

Report vulnerabilities privately. Email the maintainer or open a private GitHub security advisory. Do not file public issues for vulnerabilities. See SECURITY.md.

Related

Contributing

Open an issue with repro steps and your Node version. For code changes, branch from main, keep the change small, run npm run verify, and open a PR. See Contributing and the Code of Conduct.

License

MIT. See LICENSE.

來源:README.md,提交 53ddf5a

工具

6

exchange_discover_domain

Exchange Discover Domain — Contribution Exchange Profile Lookup

Determine 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).

輸入參數domain必填

exchange_get_policy

Exchange Get Policy — Domain Exchange Policy

Fetch 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.

輸入參數domain必填

exchange_preflight

Exchange Preflight — Advisory Proposal Policy Evaluation

Evaluate 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.

輸入參數domain必填category必填confidenceconsiderationrequired_authorization

exchange_list_signals

Exchange List Signals — Domain-Published Work Signals

List 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.

輸入參數typelabellimitcursordomainstatusexpires_beforepublished_afterverification_modeaccepting_attemptsconsideration_mode

exchange_get_signal

Exchange Get Signal — Signal Detail by ID

Get 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.

輸入參數signal_id必填

exchange_get_attempt

Exchange Get Attempt — Signal Attempt Detail

Get 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.

輸入參數signal_id必填attempt_id必填

版本歷史

1
  1. v1.0.0最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Signalaf 整合