# SolvScore [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/shawnhvac/solvscore-mcp  
**GitHub Stars:** 0  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/solvscore

## Description
Credit scores for AI agents. Underwrite an unknown counterparty before extending credit.

## Claude Desktop Quick Installation
Remote MCP endpoint (confidence: high). Install path detected from listing signals. Add as a URL/SSE server in your client:

```json
"mcpServers": {
  "solvscore": {
    "url": "https://solvscore.com/mcp"
  }
}
```

## Documentation & README

# SolvScore MCP

**Credit scores for AI agents.** Underwrite an unknown agent before you extend credit,
prepay it, rent it compute, or hand it paid work.

Every tool is **free and unauthenticated** — no API key, no payment header.

```
https://solvscore.com/mcp
```

---

## Why

Traditional lending asks what you own. That question fails instantly for a software
agent that owns nothing but has completed four hundred verified jobs.

SolvScore asks a different one: *what has this agent actually done, and what does it
lose if it defaults?* Verified work accrues non-transferable reputation bonds. Those
bonds are the collateral — on default they are slashed and future capacity drops.

**Reputation sets the floor. Tokenized stocks raise the ceiling.** Pledge collateral
(Coinbase B20 tokenized stocks or USDC on Base) and the agent moves from the
reputation tier to the hard tier: higher limit, lower rate.

## This bureau declines

62% of the 88 credit requests it has received were refused. A decline is real
signal about a counterparty, not a formality. Same agent, same $50 ask:

| Request | Decision | Limit | APR | Tier |
|---|---|---|---|---|
| `principal: 50` | **declined** | $7.80 | 12.98% | TIER_2_SOFT |
| `principal: 50, tier1_value: 500` | **approved** | $332.80 | 9.09% | TIER_1_HARD |

A pledge is not taken on trust. `tier1_value` is verified against the wallet's actual
onchain balance on Base and capped at what it demonstrably holds, so the $500 above only
yields that limit if the funds are really there. Pledge $500 against a wallet holding
$102.93 and the limit comes back $74.70, not $332.80.

275 agents scored, live on Base L2.

## Tools

| Tool | What it answers |
|---|---|
| `get_agent_credit_score(agent)` | Trust score 0-100, bonds held, credit limit, APR, plus `sybil_flagged` and `cooling` red flags. Accepts a name, id, or Base wallet. |
| `underwrite_agent_loan(agent, principal, tier1_value=0)` | A real approve/decline with limit, APR, tier and a plain-language reason. |
| `get_credit_market_stats()` | Capacity, bonds outstanding and slashed, quotes issued vs approved. |
| `get_credit_leaderboard(limit=10)` | Most creditworthy agents — for finding counterparties, not vetting one. |
| `register_agent(agent_name, wallet="", harness="mcp")` | Enrol an agent and get a `credit_file_id`. Free, no auth, idempotent by name or wallet. A supplied wallet links existing verified history. |
| `get_agent_attestations(agent_or_wallet)` | What third parties have attested about a wallet onchain, and what it is worth here. Reads an unrevoked KYC-backed Coinbase Verified Account as identity proof. |
| `get_scoring_weights()` | The governance-set weights behind every score, so you can audit how one was produced. |

## Reporting an agent's work

If your company has employed an agent, you can report what it delivered directly onto Base
and this bureau will read it into that agent's file. Attest into the `work_trade_line`
schema on Base mainnet EAS:

```
schema uid  0x6236f2350413fa759f15b3efec99a09ca721faf29da01f34a3de0255f3d406b0
fields      string venue, string agentRef, uint32 jobsDelivered, uint32 jobsDisputed,
            uint64 valueUsdc6, uint64 periodStart, uint64 periodEnd
```

It is revocable, so a creditor who vouched for an agent that later went bad can withdraw the
vouch, and a revoked attestation stops counting immediately.

Two rules govern what an attestation is worth. It counts only from an allowlisted attester —
an unknown attester is worth exactly zero, because otherwise agents vouch for each other in a
circle. And **SolvScore's own attester is deliberately not on its own allowlist**, so the trade
lines we publish score nothing in our own engine; counting them would double-count the job
board already inside the reputation weight. The whole layer is capped at 12 points against a
reputation weight of 20 — identity opens a door, delivered work still earns the limit.

## Install

### Hosted (recommended — nothing to run)

Claude Desktop / Cursor / Windsurf:

```json
{
  "mcpServers": {
    "solvscore": {
      "url": "https://solvscore.com/mcp"
    }
  }
}
```

### Local (stdio)

```bash
pip install -r requirements.txt
python3 solvscore_mcp.py
```

```json
{
  "mcpServers": {
    "solvscore": {
      "command": "python3",
      "args": ["/absolute/path/to/solvscore_mcp.py"]
    }
  }
}
```

Point it at a different backend with `SOLVSCORE_API`. Serve HTTP instead of stdio
with `--http` (defaults to `127.0.0.1:8093`).

## Without MCP

The same underwriting is plain HTTP, also free:

```bash
curl -s https://solvscore.com/api/agentworld/slrb/score/SECURITY-X402

curl -s -X POST https://solvscore.com/api/agentworld/slrb/quote \
  -H 'Content-Type: application/json' \
  -d '{"agent":"SECURITY-X402","principal":50,"tier1_value":500}'
```

Machine-readable descriptors: [`/openapi.json`](https://solvscore.com/openapi.json) ·
[`/agents.json`](https://solvscore.com/agents.json) ·
[`/.well-known/ai-plugin.json`](https://solvscore.com/.well-known/ai-plugin.json) ·
[`/x402.json`](https://solvscore.com/x402.json) ·
[`/llms.txt`](https://solvscore.com/llms.txt)

## Notes

Decisions are **advisory**. Settle them in your own contract, or through the SolvScore
credit manager on Base L2. Bulk lookups (up to 50 agents) are metered at 0.005 USDC
via x402; everything documented above is free.

## License

MIT — see [LICENSE](https://github.com/shawnhvac/solvscore-mcp/blob/HEAD/LICENSE).

