Context7
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Web search API: find every relevant event across the open web, not just the top results.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
x-api-keyค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน
พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http catchall https://catchall-mcp.newscatcherapi.com/mcp --header 'x-api-key: ใส่ค่าของคุณ'เติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"catchall": {
"url": "https://catchall-mcp.newscatcherapi.com/mcp",
"headers": {
"x-api-key": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"catchall": {
"type": "http",
"url": "https://catchall-mcp.newscatcherapi.com/mcp",
"headers": {
"x-api-key": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
x-api-key ความลับ จำเป็น HTTP headerค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ผู้ลงทะเบียน (newscatcherapi.com) ไม่ใช่เจ้าของ repo (Newscatcher) อาจเป็นคนอื่นที่นำมาลงต่อ
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 0 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: x-api-key
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.6.5) เข้า registry 4 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Context7, Codebase Memory, Exa
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
MCP server for the NewsCatcher CatchAll Web Search API.
You don't need to clone or run this repo to use the MCP — NewsCatcher runs a hosted instance:
https://catchall-mcp.newscatcherapi.com/mcp?apiKey=YOUR_CATCHALL_API_KEY
Get a CatchAll API key at platform.newscatcherapi.com, then connect:
{
"mcpServers": { "catchall": { "type": "http", "url": "https://catchall-mcp.newscatcherapi.com/mcp?apiKey=YOUR_CATCHALL_API_KEY" } } }
Or via Claude Code CLI:
claude mcp add --transport http catchall "https://catchall-mcp.newscatcherapi.com/mcp?apiKey=YOUR_CATCHALL_API_KEY"
Full integration docs: https://www.newscatcherapi.com/docs/web-search-api/integrations/mcp
Prefer to run the server yourself (locally or self-hosted)? See Running below.
| MCP Tool | Method | Endpoint |
|---|---|---|
initialize_query | POST | /catchAll/initialize |
submit_query | POST | /catchAll/submit |
validate_query | POST | /catchAll/validate |
continue_job | POST | /catchAll/continue |
list_user_jobs | GET | /catchAll/jobs/user |
get_job_status | GET | /catchAll/status/{job_id} |
pull_results | GET | /catchAll/pull/{job_id} |
pull_job_csv | GET | /catchAll/pull/{job_id}/csv |
delete_job | DELETE | /catchAll/jobs/{job_id} |
Job listing filters:
list_user_jobssupportssearch,ownership,project_id,
and
mode(baseorlite) filters in addition topage/page_size.
| MCP Tool | Method | Endpoint |
|---|---|---|
create_monitor | POST | /catchAll/monitors/create |
update_monitor | PATCH | /catchAll/monitors/{monitor_id} |
delete_monitor | DELETE | /catchAll/monitors/{monitor_id} |
list_monitors | GET | /catchAll/monitors/ |
list_monitor_jobs | GET | /catchAll/monitors/{monitor_id}/jobs |
get_monitor_status | GET | /catchAll/monitors/{monitor_id}/status |
pull_monitor_results | GET | /catchAll/monitors/pull/{monitor_id} |
pull_monitor_csv | GET | /catchAll/monitors/pull/{monitor_id}/csv |
enable_monitor | POST | /catchAll/monitors/{monitor_id}/enable |
disable_monitor | POST | /catchAll/monitors/{monitor_id}/disable |
| MCP Tool | Method | Endpoint |
|---|---|---|
list_webhooks | GET | /catchAll/webhooks |
create_webhook | POST | /catchAll/webhooks |
get_webhook | GET | /catchAll/webhooks/{webhook_id} |
update_webhook | PATCH | /catchAll/webhooks/{webhook_id} |
delete_webhook | DELETE | /catchAll/webhooks/{webhook_id} |
test_webhook | POST | /catchAll/webhooks/{webhook_id}/test |
assign_webhook_resource | POST | /catchAll/webhooks/{webhook_id}/resources |
list_webhook_resources | GET | /catchAll/webhooks/{webhook_id}/resources |
remove_webhook_resource | DELETE | /catchAll/webhooks/{webhook_id}/resources/{resource_type}/{resource_id} |
list_resource_webhooks | GET | /catchAll/resources/{resource_type}/{resource_id}/webhooks |
get_webhook_history | GET | /catchAll/webhook-history |
trigger_webhook | POST | /catchAll/webhook/trigger/{resource_type}/{resource_id} |
Webhook notes:
create_webhookaccepts an optionalproject_idto attach the
webhook to a project on creation.
list_webhooksalso accepts an optionalproject_id
to filter to webhooks belonging to a specific project.
get_webhook_historyqueries in
one of two modes — pass
resource_type+resource_idfor a job/monitor/monitor_group's
deliveries, or pass
webhook_idfor everything delivered through one webhook (exactly
one mode per call). Manual test deliveries (
test_webhook) only appear in webhook mode
and are recorded with
resource_type: "test".
| MCP Tool | Method | Endpoint |
|---|---|---|
create_project | POST | /catchAll/projects/ |
list_projects | GET | /catchAll/projects/ |
get_project | GET | /catchAll/projects/{project_id} |
update_project | PATCH | /catchAll/projects/{project_id} |
delete_project | DELETE | /catchAll/projects/{project_id} |
get_project_overview | GET | /catchAll/projects/{project_id}/overview |
add_project_resources | POST | /catchAll/projects/{project_id}/resources |
list_project_resources | GET | /catchAll/projects/{project_id}/resources |
remove_project_resource | DELETE | /catchAll/projects/{project_id}/resources/{resource_type}/{resource_id} |
Project resources:
resource_typeis one ofjob,monitor,dataset,
monitor_group, orwebhook. A webhook can belong to several projects at once.
delete_projectwithdelete_resources=truedeletes the contained jobs, monitors,
datasets, and monitor groups, but webhooks are only detached — never deleted — and the
response's
deleted_resourcesreports them under awebhook_unlinkedcount.
| MCP Tool | Method | Endpoint |
|---|---|---|
create_dataset | POST | /catchAll/datasets/ |
list_datasets | GET | /catchAll/datasets/ |
get_dataset | GET | /catchAll/datasets/{dataset_id} |
update_dataset | PATCH | /catchAll/datasets/{dataset_id} |
delete_dataset | DELETE | /catchAll/datasets/{dataset_id} |
add_dataset_entities | POST | /catchAll/datasets/{dataset_id}/entities |
remove_dataset_entities | DELETE | /catchAll/datasets/{dataset_id}/entities |
list_dataset_entities | POST | /catchAll/datasets/{dataset_id}/entities/list |
get_dataset_status | GET | /catchAll/datasets/{dataset_id}/status |
create_dataset_from_csv | POST | /catchAll/datasets/upload |
append_csv_to_dataset | POST | /catchAll/datasets/{dataset_id}/upload |
CSV uploads (v1.6.1):
create_dataset_from_csvandappend_csv_to_datasettake
the CSV content in the
fileparameter — raw CSV text or standard base64. They
never read a path from the server's filesystem, so they stay safe on a remote/hosted
MCP. Inline CSV content is capped at a hard 10 MB (after base64 decoding).
create_dataset_from_csvalso accepts the new optionalproject_idfield.
| MCP Tool | Method | Endpoint |
|---|---|---|
create_entity | POST | /catchAll/entities/ |
list_entities | GET | /catchAll/entities/ |
create_entities_batch | POST | /catchAll/entities/batch |
get_entity | GET | /catchAll/entities/{entity_id} |
update_entity | PATCH | /catchAll/entities/{entity_id} |
delete_entity | DELETE | /catchAll/entities/{entity_id} |
`external_entity_id` (v1.6.3):
create_entityandupdate_entityaccept an optional
external_entity_idstring — a customer-supplied identifier that links the entity to a
record in an external system. `project_id` (v1.8.0):
list_entitiesaccepts an
optional
project_idto filter to entities belonging to a specific project.
| MCP Tool | Method | Endpoint |
|---|---|---|
list_source_groups | GET | /catchAll/source-groups |
Source groups (v1.8.0): named, reusable domain allowlists (public groups plus any
organization-visibility groups your organization can access).
list_source_groups
returns each group's
slug,name, anddescription.submit_queryaccepts an optional
source_groupslist of slugs (max 20 per job) that scopes fetching to those domain
allowlists. The attached groups are echoed back as
source_groupsin the job status and
results.
| MCP Tool | Method | Endpoint |
|---|---|---|
get_user_limits | POST | /catchAll/user/limits |
check_health | GET | /health |
get_version | GET | /version |
API key precedence (highest to lowest):
api_key tool parameterx-api-key request headerAuthorization: Bearer request header?apiKey=...CATCHALL_API_KEY environment variablecheck_health and get_version do not require API key auth.
When deployed via fastmcp.app, a stateless gateway sits in front of the server. The gateway forwards HTTP headers to the backend but not URL query parameters. Use the x-api-key header or CATCHALL_API_KEY environment variable instead of ?apiKey=.
Claude Code / Cursor:
{
"mcpServers": { "catchall": { "type": "http", "url": "https://YOUR-DEPLOYMENT.fastmcp.app/mcp", "headers": { "x-api-key": "YOUR_API_KEY" } } } }
Or via CLI:
claude mcp add --transport http catchall "https://YOUR-DEPLOYMENT.fastmcp.app/mcp" \
--header "x-api-key: YOUR_API_KEY"
Direct server access (no gateway): ?apiKey=YOUR_KEY in the URL still works.
initialize_query to preview validators/enrichments/date window.initialize_query is preview-only (it does not create a job) and suggestions are non-deterministic.submit_query (query required). You can send only query; omitted optional fields are auto-selected/generated.validators only), omitted ones are still auto-generated.start_date/end_date filter web page discovery dates, not event dates in extracted content.event_date in pulled results.get_job_status: first check after ~1-2 minutes, then every 30-60 seconds, stop on completed or failed.pull_results; partial data appears during enriching.page < total_pages to retrieve all available records.continue_job only to process more records (cost-affecting). It applies only to jobs originally submitted with limit.continue_job.new_limit is optional; if omitted, API defaults to your plan maximum.page/page_size/total_pages represent already-available records; use progress_validated < candidate_records to detect if more records may still appear.limit (submit_query, continue_job) controls how many records are processed and therefore affects cost. If provided, must be >= 10. Omit to retrieve everything up to your plan's maximum.page_size (pull_results, list_user_jobs) controls pagination only and does not affect processing cost.pull_results.page_size default is 100.page_size range is 1..1000.pull_results response includes error (failed jobs) and limit (applied job limit).create_monitor.backfill=true: reference job end_date must be within the last 7 days.create_monitor.backfill=false: reference job age constraint does not apply.create_monitor supports optional limit (minimum 10), backfill (default true), timezone, webhook_ids, and project_id.create_webhook, then attach by ID via create_monitor.webhook_ids / update_monitor.webhook_ids (no inline webhook config).base jobs (not lite).enable_monitor supports optional backfill.update_monitor updates webhook_ids, run limit, schedule, and/or timezone (pass webhook_ids=[] to clear assignments; timezone is ignored unless schedule is also set).list_monitors supports pagination via page and page_size plus search, ownership, and project_id filters; it returns total, page, page_size, total_pages, monitors.ตัดมาแค่ช่วงต้น อ่านต่อใน repo