Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
MCP server for nonprofit financials via ProPublica: IRS Form 990 data for 1.8M+ nonprofits.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
MCP_LOG_LEVELต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://nonprofit-explorer.caseyjhand.com/mcpเปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"nonprofit-explorer": {
"command": "npx",
"args": [
"-y",
"@cyanheads/nonprofit-explorer-mcp-server"
],
"env": {
"MCP_LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http nonprofit-explorer https://nonprofit-explorer.caseyjhand.com/mcpclaude mcp add nonprofit-explorer --env MCP_LOG_LEVEL='ใส่ค่าของคุณ' -- npx -y @cyanheads/nonprofit-explorer-mcp-serverเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"nonprofit-explorer": {
"url": "https://nonprofit-explorer.caseyjhand.com/mcp"
}
}
}วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"nonprofit-explorer": {
"command": "npx",
"args": [
"-y",
"@cyanheads/nonprofit-explorer-mcp-server"
],
"env": {
"MCP_LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"nonprofit-explorer": {
"type": "http",
"url": "https://nonprofit-explorer.caseyjhand.com/mcp"
}
}
}วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"nonprofit-explorer": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/nonprofit-explorer-mcp-server"
],
"env": {
"MCP_LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://nonprofit-explorer.caseyjhand.com/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
MCP_LOG_LEVEL envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 6 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน
nonprofit_search_organizationsSearch 1.8M+ IRS-recognized tax-exempt organizations by name, keyword, city, or phrase. Optionally narrow by US state, NTEE major sector (1–10), or 501(c) subsection type. Returns EINs — pass them to nonprofit_get_organization or nonprofit_get_filings for details. Results are pag
nonprofit_get_organizationFull profile for a tax-exempt org by EIN: legal identity, IRS classification and BMF filing requirements, latest extracted financial snapshot, and latest return metadata across extracted and PDF-only histories. Use nonprofit_search_organizations first to resolve a name to an EIN.
nonprofit_get_filingsForm 990 history by EIN with extracted financials, form-specific compensation, and PDF-only returns. Optional inclusive from_year/to_year bounds select fiscal years across both histories; omitted bounds return full history. Unfiltered totals remain available. Records are sorted b
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 9 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub cyanheads ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตอบกลับใน 573 ms (HTTP 200)
ไม่ต้องล็อกอิน
อ่านคำอธิบายเครื่องมือ 3 ตัวแล้ว ไม่พบคำสั่งแอบแฝงถึง AI
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.3.0) เข้า registry 6 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, SwarmMemo
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว 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.
Talk with agent swarms: rooms, private messages and paid tasks for AI agents
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
@cyanheads/nonprofit-explorer-mcp-server Search and explore 1.8M+ US nonprofits, fetch Form 990 financials, and access IRS filing history via MCP. STDIO or Streamable HTTP. 3 Tools
Public Hosted Server: https://nonprofit-explorer.caseyjhand.com/mcp
IRS Form 990 data for 1.8M+ tax-exempt organizations, via the ProPublica Nonprofit Explorer API. Search by name, fetch an org's financial snapshot, and pull its full filing history.
| Tool | Description |
|---|---|
nonprofit_search_organizations | Search 1.8M+ IRS-recognized tax-exempt organizations by name, keyword, city, or phrase with optional state, NTEE sector, and 501(c) filters |
nonprofit_get_organization | Full profile by EIN: legal identity, IRS classification, filing requirements, newest-return metadata, and latest extracted financial snapshot |
nonprofit_get_filings | Form 990 history by EIN, optionally filtered by fiscal year: financials, fundraising figures, executive compensation, and source PDF links |
nonprofit_search_organizations tool"Red Cross"), required terms (+evanston), excluded terms (-dental)ZZ for foreign entities), NTEE major sector (1–10 or a case-insensitive major letter), and 501(c) subsection code (3 covers both public charities and private foundations — see foundation_type on nonprofit_get_organization to tell them apart). Names and letters normalize to the upstream codes shown in active_filters; unrecognized states are rejected before a requestsub_name is the upstream legal name with an optional secondary line; it can repeat name or be nullpage, zero-indexed); num_pages, per_page, and page_offset track positiontotal_results === 10000 means the actual count may be higher, and a page whose offset reaches that ceiling is refused (pagination_ceiling)organizations array and a notice explaining which case it isnonprofit_get_organization or nonprofit_get_filings for detailsnonprofit_get_organization tool530196605) or string with or without hyphen ("53-0196605"); use nonprofit_search_organizations first if you only have an org namelatest_filing is the latest extracted financial snapshot: revenue, expenses, assets, liabilities, net assets, and source PDF link. latest_return separately identifies the newest return across extracted and PDF-only histories; a newer return need not have extracted figuresfiling_count counts filings with extracted data; filing_count_pdf_only separately counts PDFs without financial extracts. Use nonprofit_get_filings for those links; PDF-only histories have no financial snapshottax_prd_yr in the snapshot is the fiscal year of the filing, not the current yearnonprofit_get_filings toolfrom_year / to_year bounds apply to both extracted and PDF-only histories. Totals remain unfiltered; an empty selected interval does not mean the organization has no historygrants_paid, distributable_amount, fair_market_value_assets, and net_investment_income. The distributable amount is a payout requirement, not actual payments or a compliance measureprogram_expense_ratio is always null — ProPublica returns no Form 990 Part IX program-service expense total, so the program/management/fundraising split is only in the source PDFfilings_pdf_only retains fiscal years and tax periods for returns without extracted data, including returns newer than the financial snapshotsfilings array plus a notice, not an errortax_prd_yr (fiscal year) when presenting figuresBuilt on @cyanheads/mcp-ts-core: stdio and Streamable HTTP transports, pluggable auth (none / jwt / oauth), swappable storage (in-memory, filesystem, Supabase, Cloudflare KV/R2/D1), structured logging with optional OpenTelemetry tracing.
ProPublica Nonprofit Explorer / IRS-specific:
pdf_url is still nullAgent-friendly output:
data_source attribution on all tool outputs, ProPublica URL for direct verificationtax_prd_yr prominently labeled as fiscal year with explicit lag caveat in every financial responsestructuredContent keeps an explicit null rather than omitting the keyfield_name and form_type exposed so agents know exactly which IRS field was readThe published nonprofit-explorer-guide covers diligence, financial comparisons, and when to inspect the source return. It is included in npm, Docker, and desktop bundles and served through MCP skill resources.
A public instance is available at https://nonprofit-explorer.caseyjhand.com/mcp — no installation required. Point any MCP client at it via Streamable HTTP, with this client config:
{
"mcpServers": { "nonprofit-explorer-mcp-server": { "type": "streamable-http", "url": "https://nonprofit-explorer.caseyjhand.com/mcp" } } }
Add the following to your MCP client configuration file.
{
"mcpServers": { "nonprofit-explorer-mcp-server": { "type": "stdio", "command": "bunx", "args": ["@cyanheads/nonprofit-explorer-mcp-server@latest"], "env": { "MCP_TRANSPORT_TYPE": "stdio", "MCP_LOG_LEVEL": "info" } } } }
Or with npx (no Bun required):
{
"mcpServers": { "nonprofit-explorer-mcp-server": { "type": "stdio", "command": "npx", "args": ["-y", "@cyanheads/nonprofit-explorer-mcp-server@latest"], "env": { "MCP_TRANSPORT_TYPE": "stdio", "MCP_LOG_LEVEL": "info" } } } }
Or with Docker:
{
"mcpServers": { "nonprofit-explorer-mcp-server": { "type": "stdio", "command": "docker", "args": [ "run", "-i", "--rm", "-e", "MCP_TRANSPORT_TYPE=stdio", "ghcr.io/cyanheads/nonprofit-explorer-mcp-server:latest" ] } } }
For Streamable HTTP, set the transport and start the server:
MCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 bun run start:http
git clone https://github.com/cyanheads/nonprofit-explorer-mcp-server.git
cd nonprofit-explorer-mcp-server
bun install
cp .env.example .env
All configuration is validated at startup. Key environment variables:
| Variable | Description | Default |
|---|
| `MCP_TRANSPORT_TYPE
ตัดมาแค่ช่วงต้น อ่านต่อใน repo