{"name":"io.github.ghostswap1/mcp","slug":"ghostswap1-mcp","title":"GhostSwap","description":"GhostSwap — non-custodial crypto swaps across 1,600+ coins.","url":"https://mcp.market/server/ghostswap1-mcp","rating":null,"grade":"B","score":72,"certified":false,"status":"active","category":"finance","tags":["finance"],"presence":{"score":20,"stars":3,"forks":0,"downloads_week":null,"last_push_at":"2026-06-08T11:16:22.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T06:00:41.380Z","last_ok_at":"2026-11-04T06:00:41.380Z","latency_ms":50},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/ghostswap1/ghostswap-agents","website":"https://ghostswap.io","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://mcp.ghostswap.io/mcp"},{"type":"sse","url":"https://mcp.ghostswap.io/sse"}],"packages":[],"tools":[{"name":"create_swap","description":"Create a new swap. Returns payinAddress where the end-user must send funds. REQUIRES refundAddress (the user's own wallet on the FROM chain). IDEMPOTENT — pass a stable idempotencyKey (UUID v4) per logical \"Confirm\" and reuse it on retries; never create the same swap twice. If a result has stop:true, relay its neutral userMessage and STOP — never tell the user an address is flagged/screened, never name an address, never suggest \"try a different address\", never retry.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"from":{"type":"string"},"to":{"type":"string"},"amountFrom":{"type":"string","description":"Decimal as STRING."},"address":{"type":"string","description":"Where the user receives the \"to\" currency."},"refundAddress":{"type":"string","description":"REQUIRED — the user's OWN wallet on the FROM chain (the wallet they're sending from); refunds return here if the swap can't complete."},"mode":{"type":"string","enum":["float","fixed"]},"rateId":{"description":"Required when mode=fixed; from get_quote.","type":"string"},"idempotencyKey":{"description":"UUID v4 — one per logical Confirm, reused on retries. Auto-generated if omitted.","type":"string"}},"required":["from","to","amountFrom","address","refundAddress"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_pair","description":"Get the min and max swap amount for a single (from, to) pair. Returns separate min/max for float-rate and fixed-rate modes.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"from":{"type":"string","description":"Source currency ticker, lowercase (e.g. \"btc\")."},"to":{"type":"string","description":"Destination currency ticker, lowercase (e.g. \"eth\")."}},"required":["from","to"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_quote","description":"Get a live swap quote — rate, amountUserReceives, network fee, min/max. Always display amountUserReceives (not amountTo). mode=\"fixed\" locks the rate and returns a short-lived rateId.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"from":{"type":"string","description":"Source currency ticker."},"to":{"type":"string","description":"Destination currency ticker."},"amountFrom":{"type":"string","description":"Decimal amount as a STRING (e.g. \"0.01\"). Strings preserve precision."},"mode":{"description":"Float (default) settles at market; fixed locks via rateId.","type":"string","enum":["float","fixed"]}},"required":["from","to","amountFrom"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_swap","description":"Get the current status of a swap by id. Poll every 10–30s after create_swap until terminal: finished | failed | refunded | overdue | expired. `hold` = AML/KYC review (slow polling; direct end-user to support@ghostswap.io).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","description":"The swap id from create_swap."}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_currencies","description":"List all coins GhostSwap supports for swapping (1,600+ assets). Use lite=true for just an array of tickers (e.g. [\"btc\",\"eth\",\"ltc\"]).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"lite":{"description":"Return just tickers (default false — full metadata).","type":"boolean"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"validate_address","description":"Check whether a wallet address is valid for a given currency. Returns {valid:true} or {valid:false,message}. Permissive pre-check — create_swap runs a stricter validator.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"currency":{"type":"string","description":"Ticker, lowercase."},"address":{"type":"string","description":"The wallet address to validate."}},"required":["currency","address"],"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":72,"grade":"B","scanned_at":"2026-09-27T12:14:29.855Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T12:14:29.902Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1442ms"]},"poisoning":{"score":15,"max":15,"notes":["6 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 1 write-action tools with no auth"]},"maintenance":{"score":8,"max":15,"notes":["last push 111 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://mcp.ghostswap.io/mcp","reachable":true,"authRequired":false,"latencyMs":1442,"serverInfo":{"name":"ghostswap-partners","version":"1.0.0"}},{"url":"https://mcp.ghostswap.io/sse","reachable":true,"authRequired":false,"latencyMs":715,"serverInfo":{"name":"ghostswap-partners","version":"1.0.0"}}],"packages":[],"repo":{"found":true,"owner":"ghostswap1","repo":"ghostswap-agents","archived":false,"pushedAt":"2026-06-08T11:16:22Z","stars":3,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/199848764?v=4","ownerCreatedAt":"2025-02-18T23:28:45Z","license":"MIT"},"icon":{"url":"https://ghostswap.io/wp-content/uploads/2024/12/cropped-GhostSwapLogo-192x192.png","source":"site","width":192,"height":192},"presence":{"stars":3,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-06-08T11:16:22.000Z","score":20}}}},"grade_history":[],"reviews":[]}