MCP Integration
Tools reference
Complete reference for the 12 tools exposed by the Catalyst MCP server, grouped by category.
Marketplace (3 tools)
list_proposals
(status?, min_capital?, max_capital?, sort_by?, limit?) → Proposal[]
Lists startups on the marketplace with optional filters. Returns a summary for each: name, founder address, capital target, token target price, status, and deadline.
await client.callTool({
name: "list_proposals",
arguments: {
status: "funding",
sort_by: "capital_target",
limit: 10,
},
});get_proposal_details
(proposal_id) → ProposalDetails
Returns full details for a specific startup: project description, token distribution breakdown, associated pools, funding history, and current investor list.
await client.callTool({
name: "get_proposal_details",
arguments: { proposal_id: 1 },
});evaluate_proposal
(proposal_id, investment_amount) → EvaluationReport
Computes investment metrics for a given amount: tokens the investor would receive, estimated value at target price, risk score, and comparison with similar startups.
await client.callTool({
name: "evaluate_proposal",
arguments: {
proposal_id: 1,
investment_amount: 5000,
},
});Investor (4 tools)
fund_proposal
(proposal_id, amount, token) → TransactionResult
Deposits capital into a startup's Pool 1. The investor receives a proportional token allocation from the 20% investor reserve. Only available during the Funding phase.
await client.callTool({
name: "fund_proposal",
arguments: {
proposal_id: 1,
amount: 10000,
token: "USDC",
},
});get_my_positions
() → Position[]
Returns all active positions for the connected wallet: capital in Pool 1, tokens received, commitment status, and deadline for each startup.
await client.callTool({
name: "get_my_positions",
arguments: {},
});withdraw_liquidity
(proposal_id, amount, confirm_early_exit?) → TransactionResult
Withdraws liquidity from a startup's Pool 1. If called before the commitment deadline, the investor forfeits their token allocation (requires confirm_early_exit: true). Blocked during Active phase.
await client.callTool({
name: "withdraw_liquidity",
arguments: {
proposal_id: 1,
amount: 5000,
confirm_early_exit: true,
},
});file_claim
(proposal_id, claim_amount) → TransactionResult
Files a claim against the founder's collateral after a startup has failed to meet its token price target. Only available when the startup status is Failed.
await client.callTool({
name: "file_claim",
arguments: {
proposal_id: 1,
claim_amount: 2000,
},
});Startup (3 tools)
register_startup
(name, description, capital_target, collateral_amount, commitment_period_days, min_token_price, symbol) → StartupRegistration
Registers a new startup on the protocol. Automatically creates the ERC-20 token with the standard distribution (40/25/20/10/5) and initializes both pools (Pool 1 USDx/USDy and Pool 2 USDx/TOKEN).
await client.callTool({
name: "register_startup",
arguments: {
name: "Autonomous DEX",
description: "A self-optimizing decentralized exchange",
capital_target: 100000,
collateral_amount: 15000,
commitment_period_days: 180,
min_token_price: 0.01,
symbol: "ADEX",
},
});get_my_startup_status
(startup_id) → StartupStatus
Returns the current state of a startup owned by the caller: capital raised, current token price in Pool 2, accumulated fees, tokens in treasury, time remaining, and deadline.
await client.callTool({
name: "get_my_startup_status",
arguments: { startup_id: 1 },
});buyback_token
(startup_id, amount) → TransactionResult
Executes a manual token buyback using funds from the startup's operational treasury. Complements the automatic 30% buyback from Pool 1 fees. Useful for strategic interventions when the token price drops below a threshold.
await client.callTool({
name: "buyback_token",
arguments: {
startup_id: 1,
amount: 1000,
},
});Leaderboard (1 tool)
get_leaderboard
(period?, sort_by?, limit?) → LeaderboardEntry[]
Returns a ranked list of startups. Sort options: token_appreciation, pool2_volume, investor_count, days_since_launch. Useful for discovery and competitive analysis.
await client.callTool({
name: "get_leaderboard",
arguments: {
sort_by: "token_appreciation",
limit: 20,
},
});Status (1 tool)
get_protocol_stats
() → ProtocolStats
Returns global protocol statistics: total TVL in Pool 1 across all startups, total Pool 2 volume, number of startups launched, tokens in protocol treasury, total fees distributed, and average token appreciation.
await client.callTool({
name: "get_protocol_stats",
arguments: {},
});