Back to Browse

Poshkan V2 MCP Server

Developer ToolsLow Risk10.0MCP RegistryRemote
Free

Server data from the Official MCP Registry

Paper trading for AI: live quotes, indicators, and virtual trades on stocks, crypto, and forex.

About

Paper trading for AI: live quotes, indicators, and virtual trades on stocks, crypto, and forex.

Remote endpoints: streamable-http: https://www.poshkan.com/api/mcp/mcp

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry.

Endpoint verified · Requires authentication · 1 issue found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

How to Connect

Remote Plugin

No local installation needed. Your AI client connects to the remote endpoint directly.

Add this to your MCP configuration to connect:

{
  "mcpServers": {
    "io-github-afrazja-poshkan": {
      "url": "https://www.poshkan.com/api/mcp/mcp"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

Poshkan — Paper Trading

Risk-free US stock paper trading. Start with virtual cash, practice the market, track holdings and P&L — no real money on the line.

See DESIGN.md for the full product/architecture design.

Stack

  • Next.js 16 (App Router) + TypeScript + Tailwind CSS v4
  • Supabase — auth (with email confirmation), Postgres, Row-Level Security
  • Twelve Data — primary quotes and OHLC history, proxied server-side
  • Yahoo Finance — symbol discovery, news, quote enrichment, and automatic fallback
  • TanStack Query — live quote polling

Setup

1. Install dependencies

npm install

2. Create a Supabase project

  1. Create a project at supabase.com.
  2. Open the SQL Editor and run the contents of supabase/schema.sql. This creates the tables, RLS policies, the auto-profile trigger, and the trading RPC functions.
  3. Run supabase/market-data-cache.sql to enable the shared, service-role-only Twelve Data candle cache.
  4. In Authentication → Providers → Email, keep "Confirm email" enabled.
  5. In Authentication → URL Configuration, set the production Site URL and add these exact redirect URLs (plus the equivalent URL for any other production hostname you serve):
    • https://www.poshkan.com/auth/callback
    • http://localhost:3000/auth/callback
  6. Run supabase/google-auth.sql in the SQL Editor. This updates the profile trigger so social-auth users receive a non-email, collision-safe username.

2a. Enable Google sign-in

  1. In the Google Auth Platform console, configure the OAuth consent screen and create an OAuth client with application type Web application.
  2. Add your app origins under Authorized JavaScript origins, for example https://www.poshkan.com and http://localhost:3000.
  3. Under Authorized redirect URIs, add the Supabase callback URL shown on the Supabase Authentication → Providers → Google page. It has this form: https://YOUR-PROJECT-REF.supabase.co/auth/v1/callback. This is the Supabase URL, not Poshkan's /auth/callback URL.
  4. Copy the Google Client ID and Client Secret into Supabase's Google provider settings and enable the provider.

3. Get a Twelve Data API key

Sign up at twelvedata.com and copy your API key from the dashboard. The free tier is rate-limited (~8 requests/min) — fine for dev.

4. Configure environment

Copy .env.local.example to .env.local and fill in:

NEXT_PUBLIC_SUPABASE_URL=https://YOUR-REF.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
TWELVE_DATA_API_KEY=your-twelve-data-key
TWELVE_DATA_CREDITS_PER_MINUTE=8
NEXT_PUBLIC_SITE_URL=http://localhost:3000

The Twelve Data key is server-only — never prefix it with NEXT_PUBLIC_.

5. Run

npm run dev

Open http://localhost:3000.

How it works

  • Auth — users can continue with Google, or use email/password with email confirmation. Google returns through /auth/callback; email confirmation returns through /auth/confirm.
  • Accounts — create multiple paper portfolios with starting cash and optional seeded holdings. Top up or reset cash anytime.
  • Trading — search a symbol, then Buy / Sell / add to Watchlist. Trades fill at the live price (fetched server-side at execution) via an atomic Postgres RPC that validates cash and share balances (long-only, no margin).
  • P&L — holdings show shares, avg cost, live price, day %, market value, and unrealized P&L in $ and %.

Roadmap (v2)

Crypto & Forex asset classes, limit orders, transaction-history view, account-value charts.

Reviews

No reviews yet

Be the first to review this server!