{"protocol":"cibo-agent-protocol","version":"1.0","service":"cibo.hk — HK IPO Allotment Forecasts & Allottee-Profile Analysis","description":"HK IPO data analytics built by JW, CEO of Panda Securities, using AI-assisted programming. Forecasts allotment hit rates with adjustable subscription multiples and allotment-method (α) parameters, infers allottee profiles (region/nationality/gender/age from IDs), and provides Stock Connect inclusion analysis, allotment results, and CCASS holdings.","base_url":"https://cibo.hk","api_prefix":"/api","authentication":{"mode":"public","description":"All public IPO data endpoints are open — no API key or JWT required. Free-tier rate limits: 30 requests/min per IP, 5,000/day.","optional_personalization":{"description":"Watchlist / preferences require a pcell.si JWT (personalized features only).","header":"Authorization: Bearer <jwt_access_token>"}},"data_categories":{"stocks":{"path":"/api/stocks","description":"List all IPO stocks with basic info (code, name, listing date, offer price)."},"oversub":{"path":"/api/stocks/oversub","description":"Batch oversubscription + frozen capital for all stocks. Optional ?year=YYYY filter."},"stock_index":{"path":"/api/stocks/index","description":"Stocks grouped by index with filtering and pagination."},"homepage":{"path":"/api/stocks/homepage","description":"Homepage stock cards: upcoming (prelist) and recently listed stocks with status."},"analysis":{"path":"/api/stocks/{code}/overview","description":"Per-stock IPO analysis: subscription rates, allotment tiers, PnL scenarios, CCASS data."},"prospectus":{"path":"/api/stocks/{code}/prospectus","description":"Per-stock prospectus info page data: prospectus details (offer price, mechanism, greenshoe, secondary listing), cornerstone investors, and IPO financial statements."},"allotment_result":{"path":"/api/stocks/{code}/allotment-result","description":"Per-stock allotment results page data: allotment summary (incl. international placing, greenshoe), placing concentration, cornerstone allocation + lock-up, Pool A/B tiers."},"allottee_profile":{"path":"/api/stocks/{code}/allottee-profile","description":"Per-stock 中签画像 (allottee profile): winner demographics — region, gender, age, HK ID breakdowns."},"announcements":{"path":"/api/stocks/{code}/announcements","description":"Per-stock 个股公告中心 (announcement center): HKEXnews announcements grouped by category."},"buyback":{"path":"/api/stocks/{code}/buyback","description":"Per-stock 回购明细 (buyback): share buyback records newest first with totals."},"disclosure":{"path":"/api/stocks/{code}/disclosure","description":"Per-stock 增减持明细 (disclosure-of-interest): DI records newest first."},"dual_listing_price":{"path":"/api/dual-listing-price/{code}","description":"Dual-listing (A+H / secondary) cross-market price and premium/discount."},"compare":{"path":"/api/stocks/compare","description":"Side-by-side comparison of multiple IPO stocks."},"ccass":{"path":"/api/stocks/{code}/ccass","description":"CCASS custodian holdings changes after IPO."},"market":{"path":"/api/market-insights","description":"Market-wide insights and trend analysis."},"rankings":{"paths":["/api/cache/rankings/sponsors","/api/cache/rankings/underwriters","/api/cache/rankings/cornerstone","/api/cache/rankings/coinvestment"],"description":"Rankings of financial institutions by IPO involvement."},"charts":{"paths":["/api/charts/frozen-calendar","/api/charts/scatter-oversub-pnl"],"description":"Cross-stock chart data."},"allotment":{"path":"/api/allotment-tiers/{code}","description":"Detailed allotment tier breakdown for a specific stock (Pool A and B)."},"listing_day_close":{"path":"/api/listing-day-close-price/{code}","description":"First-day closing price for a single stock."},"listing_day_close_batch":{"path":"/api/listing-day-close-prices-batch","description":"Batch first-day closing prices. GET ?codes=X,Y or POST {\"codes\":[...]}."},"blog":{"path":"/api/blog/posts","description":"Published blog posts about IPO analysis."},"full_market":{"path":"/api/stocks/full-market","description":"Directory of all HK-listed companies (code, zh/en name, board, isin)."},"hynix":{"path":"/api/hynix/snapshot","description":"SK Hynix cross-market arbitrage snapshot (instruments, FX rates, base price)."},"a_share_etf":{"path":"/api/a-share-etf/overview","description":"A-share ETF capital flow overview (merged proxy, ETF inflow, margin)."}},"sdk_mcp":{"sdk":{"name":"pcell-sdk","install":"pip install pcell-sdk","description":"Python SDK for pcell.si community features only — not required for cibo IPO data.","pypi":"https://pypi.org/project/pcell-sdk/"},"mcp":{"name":"cibo-mcp","endpoint":"https://cibo.hk/mcp","transport":"streamable-http","description":"Remote MCP server for cibo.hk. 58 tools covering allotment prediction, prospectus details, allotment results (incl. international placing), stocks, inclusion, rankings, A/B comparison, market data, flash events, disclosures, full-market financials and directory, prices (incl. dual-listing premium), registrar, blog, hynix arbitrage, A-share ETF flow, and data-center macro/US-market data. No pip install — connect directly.","config":{"mcpServers":{"cibo":{"url":"https://cibo.hk/mcp"}}}}},"user_features":{"description":"Login via pcell.si to enable personalized features.","watchlist":{"path":"/api/user/watchlist","description":"Track favorite stocks. Toggle with POST, list with GET."},"preferences":{"path":"/api/user/preferences","description":"Save UI preferences (theme, language, filters)."}},"interfaces":{"rest_api":{"discovery":"GET /api/","base":"/api","note":"No authentication required for IPO data endpoints."},"web_ui":{"url":"https://cibo.hk/","description":"Interactive web interface with search, watchlist, comparison, and multi-language support."}},"llms_txt":"https://cibo.hk/llms.txt","capabilities":[{"method":"GET","path":"/api/stocks","auth":"public","description":"List all IPO stocks with basic info (code, name, listing date)."},{"method":"GET","path":"/api/stocks/oversub","auth":"public","description":"Batch oversubscription + frozen capital for all stocks with allotment data. Query: ?year=2026.","params":{"year":"optional listing year filter (e.g. 2026)"}},{"method":"GET","path":"/api/flash-events","auth":"public","description":"Derived flash-event feed (ipo_launch / allotment_result / listing / inclusion / prediction) as structured JSON for AI crawlers. Query: ?locale=zh-CN&limit=50&stock_code=07688.","params":{"locale":"zh-CN / zh-HK / en","limit":"max events (1-200, default 50)","stock_code":"optional 5-digit code to filter to one stock"}},{"method":"GET","path":"/api/stocks/index","auth":"public","description":"Stock cards grouped by index with filtering, pagination, search."},{"method":"GET","path":"/api/stocks/{code}/overview","auth":"public","description":"Full per-stock IPO analysis: subscription rates, allotment tiers, PnL scenarios, CCASS demographics."},{"method":"GET","path":"/api/stocks/{code}/prospectus","auth":"public","description":"Full prospectus info page data: prospectus details (offer price, mechanism, greenshoe, secondary listing), cornerstone investors, and IPO financial statements."},{"method":"GET","path":"/api/stocks/{code}/allotment-result","auth":"public","description":"Full allotment results page data: allotment summary (incl. international placing, greenshoe), placing concentration, cornerstone allocation + lock-up, Pool A/B tiers."},{"method":"GET","path":"/api/stocks/{code}/allottee-profile","auth":"public","description":"中签画像 (allottee profile): winner demographics from the registrar allotment dataset — total lots, person/company split, region/nationality, province, gender, age histogram + pyramid, HK ID letter/era/district."},{"method":"GET","path":"/api/stocks/{code}/announcements","auth":"public","description":"个股公告中心 (announcement center): all HKEXnews announcements for one stock, grouped by headline category with publish date and file URL."},{"method":"GET","path":"/api/stocks/{code}/buyback","auth":"public","description":"回购明细 (per-stock buyback): share buyback records for one stock, newest first, with per-day shares/amount and aggregate totals."},{"method":"GET","path":"/api/stocks/{code}/disclosure","auth":"public","description":"增减持明细 (per-stock disclosure-of-interest): DI records for one stock, newest first, with holder, capacity, event type, shares and pct."},{"method":"GET","path":"/api/stocks/{code}/summary","auth":"public","description":"Lightweight stock summary: key stats and tier classification."},{"method":"GET","path":"/api/stocks/{code}/ccass","auth":"public","description":"CCASS custodian demographics: type, province, gender, age distributions."},{"method":"GET","path":"/api/stocks/{code}/narrative","auth":"public","description":"AI-generated narrative (zh/en) summarizing the IPO's key characteristics."},{"method":"GET","path":"/api/stocks/compare","auth":"public","description":"Side-by-side comparison of up to 10 stocks. Query: ?codes=00001,00002","params":{"codes":"comma-separated stock codes"}},{"method":"GET","path":"/api/allotment-tiers/{code}","auth":"public","description":"Detailed allotment tier table: Pool A and Pool B subscription tiers with expected lots."},{"method":"GET","path":"/api/stocks/{code}/predict","auth":"public","description":"Full allotment prediction data (default predicted oversub/alpha) backing the prediction page."},{"method":"GET","path":"/api/stocks/{code}/predict/custom","auth":"public","description":"On-demand single-point allotment prediction for arbitrary parameters. Query: ?oversub=300&alpha=0.5&agent=knn_calibrated.","params":{"oversub":"final oversubscription multiple (optional, >0; omitted -> cibo predicted oversub)","alpha":"allocation-method coefficient in [0,1] (optional; omitted -> agent's recommended alpha)","agent":"agent key (optional, default knn_calibrated)"}},{"method":"GET","path":"/api/predict-agent-grid/{code}","auth":"public","description":"Pre-computed prediction grid (18 oversub x 5 alpha) for interpolation."},{"method":"GET","path":"/api/listing-day-close-price/{code}","auth":"public","description":"First-day closing price for a single stock."},{"method":"GET|POST","path":"/api/listing-day-close-prices-batch","auth":"public","description":"Batch first-day closing prices. GET: ?codes=07688,01511 POST: {\"codes\":[...]}"},{"method":"GET","path":"/api/market-insights","auth":"public","description":"Cross-IPO market insights, trends, and aggregate analysis."},{"method":"GET","path":"/api/cmp/overview","auth":"public","description":"Cross-market comparison overview for peer stock context."},{"method":"GET","path":"/api/charts/frozen-calendar","auth":"public","description":"Frozen capital calendar: date series, daily max, regulatory milestones (for index page stacked bar chart)."},{"method":"GET","path":"/api/charts/scatter-oversub-pnl","auth":"public","description":"Oversubscription vs first-day P&L scatter plot data."},{"method":"GET","path":"/api/cache/rankings/sponsors","auth":"public","description":"Sponsor institution rankings by IPO involvement."},{"method":"GET","path":"/api/cache/rankings/underwriters","auth":"public","description":"Underwriter institution rankings by IPO involvement."},{"method":"GET","path":"/api/cache/rankings/cornerstone","auth":"public","description":"Cornerstone investor rankings."},{"method":"GET","path":"/api/cache/rankings/coinvestment","auth":"public","description":"Co-investment rankings."},{"method":"GET","path":"/api/cache/stocks/{code}/analysis","auth":"public","description":"Pre-computed per-stock analysis (tier data, demographic distributions, HK letter/era breakdowns)."},{"method":"GET","path":"/api/cache/ab","auth":"public","description":"A-tail vs B-head comparison matrix."},{"method":"GET","path":"/api/cache/frozen-calendar","auth":"public","description":"Pre-computed frozen capital calendar (dates, series, max_daily)."},{"method":"GET","path":"/api/cache/scatter","auth":"public","description":"Pre-computed scatter plot data (oversubscription vs P&L)."},{"method":"GET","path":"/api/cache/status","auth":"public","description":"Freshness status for all cache tables (row count, last_built timestamp)."},{"method":"GET","path":"/api/blog/posts","auth":"public","description":"List published blog posts with pagination. Query: ?locale=zh-CN&limit=20&offset=0"},{"method":"GET","path":"/api/blog/posts/{slug}","auth":"public","description":"Get a single published blog post by slug."},{"method":"GET","path":"/api/stocks/full-market","auth":"public","description":"Directory of all HK-listed companies (code, zh/en name, board, isin). Query: ?search=&limit=200.","params":{"search":"optional substring on code/name","limit":"max companies (default 200)"}},{"method":"GET","path":"/api/hynix/snapshot","auth":"public","description":"SK Hynix cross-market arbitrage snapshot (instruments with premium_pct, FX rates, base price)."},{"method":"GET","path":"/api/a-share-etf/overview","auth":"public","description":"A-share ETF capital flow overview (merged proxy, ETF inflow, margin). Query: ?limit=60."},{"method":"GET","path":"/api/user/me","auth":"optional JWT","description":"Current user info from JWT. Returns {user: null} when unauthenticated."},{"method":"GET","path":"/api/user/watchlist","auth":"pcell JWT","description":"User's watchlist as array of stock codes."},{"method":"POST","path":"/api/user/watchlist/{code}","auth":"pcell JWT","description":"Toggle a stock in/out of the watchlist. Returns {in_watchlist: bool}."},{"method":"GET|PUT","path":"/api/user/preferences","auth":"pcell JWT","description":"Get or update saved user preferences JSON."},{"method":"GET","path":"/api/","auth":"public","description":"API discovery root: lists all endpoints with methods, auth, and return types."},{"method":"GET","path":"/.well-known/agent-protocol","auth":"public","description":"Machine-readable agent protocol: service description, auth methods, data categories, recommended agent onboarding flow."},{"method":"GET","path":"/health","auth":"public","description":"Health check: uptime, DB stats, agent status, cache warmth, pipeline health."},{"method":"GET","path":"/api/agents","auth":"internal","description":"Internal agent heartbeat status and duration (ops telemetry)."}],"recommended_flow_for_agents":["1. GET /.well-known/agent-protocol (this endpoint)","2. Option A: Connect to cibo's MCP server at https://cibo.hk/mcp (streamable-http) — 58 tools, no install","3. Option B: Use REST API directly — no auth required for IPO data endpoints","4. Start with GET /api/stocks to discover available IPO stocks","5. Drill into stocks with GET /api/stocks/{code}/overview for detailed analysis"]}