Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
SEC filing MCP for AI agents — insider signals, 13F flow, material events. Pre-computed.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
SEC_USER_AGENT_CONTACT你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"toolstem-sec": {
"command": "npx",
"args": [
"-y",
"toolstem-sec-mcp-server"
],
"env": {
"SEC_USER_AGENT_CONTACT": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add toolstem-sec --env SEC_USER_AGENT_CONTACT=your-value -- npx -y toolstem-sec-mcp-server运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"toolstem-sec": {
"command": "npx",
"args": [
"-y",
"toolstem-sec-mcp-server"
],
"env": {
"SEC_USER_AGENT_CONTACT": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"toolstem-sec": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"toolstem-sec-mcp-server"
],
"env": {
"SEC_USER_AGENT_CONTACT": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
SEC_USER_AGENT_CONTACT env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过 GitHub 账户 toolstem 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.1.9)于5个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Safe Fetch
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
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.
MCP server for fetching URLs, safe against SSRF, DNS rebinding, and redirect-to-internal attacks.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
SEC EDGAR intelligence for AI agents. Five composite tools that pre-compute high-value signals directly from SEC EDGAR's public submissions API, returned as structured JSON.
No SEC API key required. Data is sourced directly from SEC EDGAR's public submissions API. A built-in sliding-window rate limiter keeps traffic under SEC's 10 rps fair-access ceiling automatically.
Point your MCP client or agent at the hosted endpoint. No API key, no infra, no setup. Billing is per-call via x402 — the agent's wallet pays directly in USDC on Base mainnet.
https://mcp.toolstem.com/mcp/sec
initialize and tools/list are free (discovery and schema introspection).tools/call is tiered per tool (see Pricing below).Drop this into your claude_desktop_config.json:
{
"mcpServers": { "toolstem-sec": { "command": "npx", "args": [ "-y", "mcp-remote", "https://mcp.toolstem.com/mcp/sec" ] } } }
Restart Claude Desktop, then ask: *"Has TSLA disclosed any material 8-K events in the last 90 days?"*
The official @langchain/mcp-adapters library connects directly to the hosted URL:
import { MultiServerMCPClient } from "@langchain/mcp-adapters";
import { ChatOpenAI } from "@langchain/openai"; import { createReactAgent } from "@langchain/langgraph/prebuilt";
const client = new MultiServerMCPClient({ toolstem_sec: { transport: "http", url: "https://mcp.toolstem.com/mcp/sec", // Add your x402-signing middleware via headers, OR run an x402 // proxy locally and point url at it. See https://www.x402.org/clients. }, });
const tools = await client.getTools(); const agent = createReactAgent({ llm: new ChatOpenAI({ model: "gpt-4o-mini" }), tools }); await agent.invoke({ messages: "Has TSLA disclosed any material 8-K events in the last 90 days?" });
langchain-toolstem)The langchain-toolstem wrapper handles x402 payment for you — pass a funded wallet key and the SEC tools are included automatically:
import { createToolstemTools } from 'langchain-toolstem';
const tools = await createToolstemTools({ walletPrivateKey: process.env.WALLET_KEY }); // SEC tools included automatically — agents pay per call in USDC
Prefer to run the server yourself over stdio/HTTP? See Advanced: self-host at the bottom.
Try the tools live in the Toolstem playground.
| Tier | Price per call | Tools |
|---|---|---|
| Cheap | $0.005 | get_company_filings_summary |
| Standard | $0.05 | get_insider_signal, get_institutional_signal |
| Premium | $0.50 | get_material_events_digest, compare_disclosure_signals |
Per-tool breakdown:
| Tool | Tier | Per call |
|---|---|---|
get_company_filings_summary | Standard | $0.005 USDC |
get_insider_signal | Standard | $0.05 USDC |
get_institutional_signal | Standard | $0.05 USDC |
get_material_events_digest | Premium | $0.50 USDC |
compare_disclosure_signals | Premium | $0.50 USDC |
Toolstem uses the x402 payment protocol. Agents pay per call in USDC on Base — no API keys, no subscriptions, no invoices. The agent's wallet settles each call automatically via EIP-3009.
See the live pricing page on toolstem.com/sec/ for current rates.
All five tools are composite/curated (they compute derived signals or aggregate across multiple EDGAR endpoints — no raw passthroughs). Annotations: readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true.
| # | Tool | Required input | Optional input (default) | Tier (price/call) |
|---|---|---|---|---|
| 1 | get_company_filings_summary | ticker_or_cik (string) | — | Cheap ($0.005) |
| 2 | get_insider_signal | ticker_or_cik (string) | lookback_days (int 1–730, default 90) | Standard ($0.05) |
| 3 | get_institutional_signal | ticker_or_cik (string) | quarters_back (int 1–20, default 4) | Standard ($0.05) |
| 4 | get_material_events_digest | ticker_or_cik (string) | lookback_days (int 1–1825, default 365) | Premium ($0.50) |
| 5 | compare_disclosure_signals | tickers_or_ciks (string[2..5]) | — | Premium ($0.50) |
get_company_filings_summaryOverview of a company's filing activity: last 20 filings + computed signals.
| Signal | Description |
|---|---|
filing_velocity | ACCELERATING / NORMAL / SLOWING vs. trailing 365-day average |
material_event_count_90d | Count of 8-K filings in the last 90 days |
disclosure_volume_trend | RISING / STABLE / FALLING based on 10-K size comparison |
latest_form_types | Unique form types filed in the last 90 days |
Example output (abbreviated):
{
"ticker": "AAPL", "cik": "0000320193", "company_name": "Apple Inc.", "signals": { "filing_velocity": "NORMAL", "material_event_count_90d": 4, "disclosure_volume_trend": "RISING", "latest_form_types": ["8-K", "4", "DEF 14A"] }, "meta": { "source": "sec_edgar_direct", "data_delay": "live" } }
get_insider_signalProbes Form 3 / 4 / 4/A insider filing activity within a configurable lookback window. Required: ticker_or_cik. Optional: lookback_days (1–730, default 90).
Returns: recent_insider_filings[] (accession numbers + SEC URLs), net_transaction_count, buy_count, sell_count, and insider_signal.
v0.1 limitation — counts only. v0.1 returns counts and Form 4 references only; direction-aware buy/sell signals ship in v0.2 (Form 4 XML parsing). Today,
insider_signalisnullwhen filings exist in the window (direction unknown) and"NEUTRAL"when no insider filings exist (verified absence).buy_count/sell_countare0in v0.1.
Example output (abbreviated):
{
"ticker": "MSFT", "cik": "0000789019", "company_name": "MICROSOFT CORP", "lookback_days": 90, "insider_signal": null, "net_transaction_count": 0, "buy_count": 0, "sell_count": 0, "recent_insider_filings": [ { "accession_number": "0001127602-26-001234", "filing_date": "2026-04-15", "sec_url": "https://www.sec.gov/Archives/edgar/data/789019/000112760226001234/0001127602-26-001234-index.htm" } ], "meta": { "source": "sec_edgar_direct", "data_delay": "live" } }
get_institutional_signalProbes for activist investor activity via SC 13D / 13D/A filings. Required: ticker_or_cik. Optional: quarters_back (1–20, default 4 ≈ 1 year).
| Field | Description |
|---|---|
activist_risk_flag | true if any SC 13D or 13D/A was filed in the last 365 days |
recent_13d_filings | List of 13D filings with form type, date, and SEC URL |
v0.1 limitation — activist flag only. v0.1 ships the live `activist_risk_flag` (from 13D/13D-A) and a list of 13D filings. Quarterly 13F XBRL parsing — which produces
institutional_signal(ACCUMULATING/HOLDING/DISTRIBUTING) andrecent_13f_count— ships in v0.2. Today those two fields arenull/0.
Example output (abbreviated):
{
"ticker": "NVDA", "cik": "0001045810", "company_name": "NVIDIA CORP", "quarters_back": 4, "institutional_signal": null, "recent_13f_count": 0, "activist_risk_flag": false, "recent_13d_filings": [], "meta": { "source": "sec_edgar_direct", "data_delay": "live" } }
get_material_events_digest ⚡ Premium tierPremium tier — $0.50 USDC per call on Base mainnet, settled via x402. See the live pricing page on toolstem.com/sec/ for current rates.
Severity-ranked digest of all 8-K and 8-K/A filings within a configurable lookback window. Each item code is mapped to a plain-English label and severity rating. Required: ticker_or_cik. Optional: lookback_days (1–1825, default 365).
| Severity | Examples |
|---|---|
| 🔴 RED | Cybersecurity incident (1.05), restatement (4.02), bankruptcy (1.03), delisting (3.01) |
| 🟡 YELLOW | Acquisition (2.01), new debt (2.03), executive departure (5.02) |
| 🟢 GREEN | Earnings release (2.02), Reg FD (7.01), shareholder vote (5.07) |
Returns: events[] (sorted newest-first), redflag_count, category_counts.
Example output (abbreviated):
{
"ticker": "TSLA", "cik": "0001318605", "company_name": "Tesla, Inc.", "lookback_days": 180, "redflag_count": 1, "category_counts": { "RED": 1, "YELLOW": 3, "GREEN": 7 }, "events": [ { "accession_number": "0001628280-26-005678", "filing_date": "2026-04-10", "form": "8-K", "items": [ { "code": "4.02", "label": "Non-Reliance on Previously Issued Financial Statements", "category": "financial", "severity": "RED" } ], "sec_url": "https://www.sec.gov/Archives/edgar/data/1318605/000162828026005678/0001628280-26-005678-index.htm" } ], "meta": { "source": "sec_edgar_direct", "data_delay": "live" } }
compare_disclosure_signalsSide-by-side comparison of 2–5 companies across all key disclosure signals. Required: tickers_or_ciks (string[2..5]). All lookups run in parallel.
Returns per-company: filing_velocity, material_event_count_90d, redflag_count_365d, activist_risk_flag, last_filing_date.
Returns winners (as CIKs, not tickers — cross-reference with the companies[] array): quietest_disclosure, most_active, most_redflags, activist_targets.
Example output (abbreviated):
{
"companies": [ { "ticker": "AAPL", "cik": "0000320193", "filing_velocity": "NORMAL", "material_event_count_90d": 4, "redflag_count_365d": 0, "activist_risk_flag": false, "last_filing_date": "2026-04-25" }, { "ticker": "MSFT", "cik": "0000789019", "filing_velocity": "ACCELERATING", "material_event_count_90d": 7, "redflag_count_365d": 0, "activist_risk_flag": false, "last_filing_date": "2026-04-26" } ], "winners": { "quietest_disclosure": "0000320193", "most_active": "0000789019", "most_redflags": null, "activist_targets": [] }, "meta": { "source": "sec_edgar_direct", "data_delay": "live" } }
Most users should use the [hosted endpoint](#quickstart--hosted-endpoint-recommended) above — it needs no API key, no infrastructure, and no setup. This section is for users who specifically want to run the server themselves. When self-hosting you are responsible for running th
只显示了开头部分;其余内容请在仓库中阅读