SmartCredit MCP · StreamableHTTP
Model Context Protocol Server

Crypto portfolio
optimization tools

Correlation analysis, Markowitz optimization, and multi-asset strategies across crypto categories, DeFi yield platforms, and digital gold — exposed as MCP tools.

5 tools MCP 1.12 StreamableHTTP transport GPT-4o via /chat port 3000
5 portfolio optimization tools
correlationMatrix Analysis

Correlation matrix across crypto categories, interest-bearing platforms, and PAX Gold. Selects top-N assets by Sharpe ratio.

cryptoPortfolioOptimizer Portfolio

Markowitz optimization across CoinGecko crypto categories. Long-only, long-short, and market-neutral strategies with optional leverage.

multiAssetPortfolioOptimizer Portfolio

Combined crypto categories and interest-bearing platforms (Aave, Compound, SmartCredit) with full cross-asset correlation analysis.

completeInvestmentPortfolioOptimizer Portfolio

Full investment universe: crypto growth assets, yield-generating protocols, and PAX Gold as a traditional hedge — institutional-grade allocation.

interestBearingPortfolioOptimizer Yield

Optimal allocation across Aave V2/V3, Compound V2/V3, and SmartCredit lending protocols based on historical APR volatility.

Endpoints
Method
Path
Description
POST
/mcp
Initialize or continue a StreamableHTTP session
GET
/mcp
Server-to-client notifications on an existing session
DEL
/mcp
Terminate session and release resources
POST
/chat
Single-turn GPT-4o agent query — rate limited 10 req/min

Pass mcp-session-id header on all requests after initialization.

Connect with the MCP SDK
JavaScript · StreamableHTTP
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";

const transport = new StreamableHTTPClientTransport(
  new URL("http://localhost:3000/mcp")
);

const client = new Client({ name: "my-client", version: "1.0.0" });
await client.connect(transport);

// Optimize a 10-category crypto portfolio over 30 days
const result = await client.callTool({
  name: "cryptoPortfolioOptimizer",
  arguments: {
    numberOfCategories: 10,
    dataPoints: 30,
    portfolioType: "long-only"
  }
});

console.log(result.content[0].text);
await client.close();
Single-turn queries — POST /chat with { "query": "..." } to call the GPT-4o agent without managing sessions. Rate limited to 10 requests per minute per IP.