Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Agent-native SEC data, 20 tools: statements assembled, any line item, filings synthesized. No key.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://mcp.tickerscout.ai/mcpพิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http ticker-scout https://mcp.tickerscout.ai/mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"ticker-scout": {
"url": "https://mcp.tickerscout.ai/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"ticker-scout": {
"type": "http",
"url": "https://mcp.tickerscout.ai/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://mcp.tickerscout.ai/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันโดเมน tickerscout.ai แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (3.0.1) เข้า registry 25 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Intervals MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Remote MCP server for intervals.icu run data and analysis
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
An agent-native data layer for SEC filings, over the Model Context Protocol. Finished financial statements for public companies, and the filings themselves read and synthesized. The SEC publishes the numbers as data, but it does not publish them as statements. This serves them already assembled, through 20 tools: any statement for any fiscal year or quarter, any line item by its standard name or the company's own, every fiscal year and quarter held, every accession number cited, and the 10-K, 10-Q and 8-K narrative by section, topic or keyword. No API key, no signup, no paywall.
https://mcp.tickerscout.ai/mcp
It exposes the data published at tickerscout.ai (https://tickerscout.ai): financial statements, the annual and quarterly reports read and synthesized, and material event histories for S&P 500 companies and major foreign issuers that file with the SEC, all derived from their own filings.
The difference between this and the EDGAR APIs is assembly, not availability. The SEC gives you facts. This gives you statements.
The endpoint is https://mcp.tickerscout.ai/mcp: streamable HTTP, no authentication, no API key.
ChatGPT (web app, paid plans)
https://mcp.tickerscout.ai/mcpClaude
https://mcp.tickerscout.ai/mcpPerplexity (paid plans)
https://mcp.tickerscout.ai/mcpClaude Code
claude mcp add --transport http ticker-scout https://mcp.tickerscout.ai/mcp
Cursor
{
"mcpServers": { "ticker-scout": { "url": "https://mcp.tickerscout.ai/mcp" } } }
Any other app
If it asks for a server URL, paste https://mcp.tickerscout.ai/mcp. If it only runs local servers, add this to its config:
{
"mcpServers": { "ticker-scout": { "command": "npx", "args": [ "mcp-remote", "https://mcp.tickerscout.ai/mcp" ] } } }
The main six tools answer most questions in one call; the other fourteen each answer one kind of question, and take arguments rather than multiplying into near-duplicates.
| Question | Call |
|---|---|
| Is a company covered? What is its ticker? | list_companies(query) |
| How did it do last quarter? | get_key_figures(ticker) |
| Any line item, one or several at once | get_figure(ticker, "revenue"), get_figure(ticker, ["revenue", "net income", "eps"]) |
| A figure's full history | get_figure(ticker, "free cash flow", period: "all") |
| A statement for one year, quarter, TTM or YTD | get_statements(ticker, statement: "income_statement", period: "FY2025") |
| How far back does the data go? | list_periods(ticker) |
| Segments, products, geography | get_segments(ticker, breakdown?) |
| KPIs, non-GAAP, bank or insurance metrics | get_company_metrics(ticker, kind?) |
| Margins | get_margins_and_ratios(ticker) |
| A company-specific metric | list_company_figures(ticker, query: "data center"), then get_figure |
| Compare companies | compare_companies(["NVDA","AMD","AVGO"], "revenue") |
| Risks, strategy, management's discussion | get_narrative(ticker, section: "risk factors") (or business, md&a, current quarter, legal, subsequent events) |
| What did the company announce? | get_events(ticker), or section: "earnings", "m&a", "management changes", ... |
| Find a topic anywhere in the filings | search_text(ticker, query) |
| Which filing did a number come from? | get_figure (a sec_link on every tagged value), get_filings(ticker, accession?) |
| Currency, ADR ratio, splits, fiscal calendar | get_reporting_conventions(ticker) |
| Not sure? | guide() |
Tickers are case-insensitive, and BRK.B and BRK-B both resolve.
A record is the complete snapshot built when a company filed one 10-Q or 10-K, tagged by fiscal period: FY27Q2 is the record built from NVIDIA's second-quarter fiscal 2027 10-Q, FY26 one built from a 10-K. Each record holds several periods: up to three fiscal years, the latest quarter and its prior-year comparative, year to date and trailing twelve months. Older records hold older quarters, so a company's history is the union of its records, and every record stays published at a permanent dated URL.
Tools that take period search every record automatically. Tools that take record read one snapshot, the latest by default.
| You pass | You get |
|---|---|
| nothing | every period in the latest record |
FY2025, FY25, fiscal 2025, 2025 | that fiscal year (the company's own fiscal year, not the calendar year) |
Q2 FY2027, Q2 2027, FY27Q2, 2027Q2, 2Q27, second quarter 2027 | that quarter |
Q2 | the latest second quarter held |
latest, latest quarter, latest annual | the most recent period of that kind |
ttm, ytd, prior ytd | trailing twelve months, year to date, the prior year's year to date |
annual, quarterly, all | every fiscal year, every quarter, or every period in every record |
2026-07-26 | the period ending on that date |
A period earlier than anything held is not an error. The answer says the data does not go back that far and lists exactly what is held. A period not yet reported says so and gives the next expected filing.
Records are shaped to each business, so the same line item has different names: Apple's revenue is total_net_sales, JPMorgan's is total_net_revenue, Walmart's net income is net_income_attributable_to_walmart. Nothing is relabeled to hide that.
name_in_record (the record's own name), field (its path inside the period) and json_path (its exact address in financials.json, e.g. annual[0].income_statement.total_net_sales).get_figure exactly as written, and returns exactly that field. Case, spaces and underscores do not matter: Data Center and revenue_by_market_platform.Data Center both work.revenue, net income, free cash flow) resolves the standard way below, each value still under the record's own name. If the record also has other fields of that name (NVIDIA's segment tables each carry a revenue), they are listed under other_fields_with_this_name, callable by path.list_company_figures maps each standard figure to the name this company uses, then lists every remaining figure under its own name. Pass query to search those names.get_figure and compare_companies know the names each figure goes by across companies and resolve deterministically: first the field the company's own headline uses for it, then a list of known names in order, then a name pattern only when exactly one field matches. Nothing is estimated, derived or summed to fill a gap. Look-alike fields in the same statement come back under related, and a company that reports none of the names gets a plain "not reported" with the closest fields it does have.
| Figure | Ask for it as | Read from, for example |
|---|---|---|
| Revenue | revenue, sales | revenue, revenues, total_revenues, total_revenue, +19 more |
| Cost of revenue | cost of revenue, cogs | cost_of_revenue, cost_of_sales, total_cost_of_revenue, cost_of_goods_sold, +10 more |
| Gross profit, gross margin % | gross profit, gross margin | gross_profit, gross_margin, gross_margin_pct, +3 more |
| Research and development | r&d | research_and_development, research_and_development_expenses, +7 more |
| Selling, general and administrative | sga | selling_general_and_administrative, sales_general_and_administrative, +7 more |
| Total operating expenses | operating expenses, opex | total_operating_expenses, total_costs_and_expenses, total_noninterest_expense, +11 more |
| Operating income | operating income, ebit | operating_income, income_from_operations, operating_profit, +4 more |
| Interest expense | interest expense | interest_expense, total_interest_expense, interest_expense_net, interest_and_debt_expense |
| Income before income taxes | pretax income | income_before_income_taxes, earnings_before_income_taxes, +23 more |
| Income tax, effective tax rate | income tax, effective tax rate | provision_for_income_taxes, income_tax_expense, effective_tax_rate_pct, +17 more |
| Net income | net income, earnings | net_income, net_earnings, net_income_attributable_to_ , +8 more |
| Diluted and basic EPS | eps, basic eps | diluted_eps, eps_diluted, basic_eps, +11 more |
| Diluted, basic and outstanding shares | diluted shares, basic shares, shares outstanding | diluted_shares, basic_shares, shares_outstanding, +27 more |
| Depreciation and amortization | d&a | depreciation_and_amortization, depreciation_depletion_and_amortization, +7 more |
| Stock-based compensation | sbc | stock_based_compensation, share_based_compensation, +4 more |
| Net interest income, noninterest income (banks) | net interest income, noninterest income | net_interest_income, total_noninterest_income, +7 more |
| Provision for credit losses (banks) | provision for credit losses | provision_for_credit_losses, provision_for_loan_losses, +4 more |
| Cash and cash equivalents | cash | cash_and_cash_equivalents, cash_and_equivalents, cash_and_due_from_banks, +5 more |
| Total assets | total assets | total_assets, assets.total_assets |
| Total liabilities | total liabilities | total_liabilities, liabilities.total_liabilities |
| Total, long-term and short-term debt | debt, long-term debt, short-term debt | `to
ตัดมาแค่ช่วงต้น อ่านต่อใน repo