Context7
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
EU law for AI: EUR-Lex legislation and case law, citation graph, semantic search with asOf.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
LEXAPI_API_KEY, LEXAPI_BASE_URL, LEXAPI_MCP_READ_ONLY, LEXAPI_TIMEOUT_MS, Authorizationค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"lexapi": {
"command": "npx",
"args": [
"-y",
"@lexapi/mcp"
],
"env": {
"LEXAPI_API_KEY": "ใส่ค่าของคุณ",
"LEXAPI_BASE_URL": "ใส่ค่าของคุณ",
"LEXAPI_MCP_READ_ONLY": "ใส่ค่าของคุณ",
"LEXAPI_TIMEOUT_MS": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http lexapi https://mcp.lex-api.com/v1 --header 'Authorization: ใส่ค่าของคุณ'claude mcp add lexapi --env LEXAPI_API_KEY='ใส่ค่าของคุณ' --env LEXAPI_BASE_URL='ใส่ค่าของคุณ' --env LEXAPI_MCP_READ_ONLY='ใส่ค่าของคุณ' --env LEXAPI_TIMEOUT_MS='ใส่ค่าของคุณ' -- npx -y @lexapi/mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"lexapi": {
"url": "https://mcp.lex-api.com/v1",
"headers": {
"Authorization": "ใส่ค่าของคุณ"
}
}
}
}วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"lexapi": {
"command": "npx",
"args": [
"-y",
"@lexapi/mcp"
],
"env": {
"LEXAPI_API_KEY": "ใส่ค่าของคุณ",
"LEXAPI_BASE_URL": "ใส่ค่าของคุณ",
"LEXAPI_MCP_READ_ONLY": "ใส่ค่าของคุณ",
"LEXAPI_TIMEOUT_MS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"lexapi": {
"type": "http",
"url": "https://mcp.lex-api.com/v1",
"headers": {
"Authorization": "ใส่ค่าของคุณ"
}
}
}
}วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"lexapi": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@lexapi/mcp"
],
"env": {
"LEXAPI_API_KEY": "ใส่ค่าของคุณ",
"LEXAPI_BASE_URL": "ใส่ค่าของคุณ",
"LEXAPI_MCP_READ_ONLY": "ใส่ค่าของคุณ",
"LEXAPI_TIMEOUT_MS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
LEXAPI_BASE_URL envLEXAPI_MCP_READ_ONLY envLEXAPI_TIMEOUT_MS envAuthorization ความลับ จำเป็น HTTP headerค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub Lex-API ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: LEXAPI_API_KEY, Authorization
ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.3.0) เข้า registry 9 วันที่ผ่านมา
โปรแกรมที่รองรับ 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 รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Model Context Protocol server for LexAPI — EU law for AI assistants: EUR-Lex legislation parsed to article level, CJEU case law, the typed citation graph, and semantic search (including the law as in force on a past date). Works with Claude, Cursor, VS Code and any other MCP client.
Ask your assistant *"what does Article 17 GDPR require?"*, *"which acts amended REACH?"* or *"what were the own-funds requirements for banks in June 2019?"* — the model calls LexAPI and answers from the source text, with CELEX citations.
You need a LexAPI account. With the hosted server you just sign in with LexAPI from your MCP client; with the npm package (or if you prefer), use an API key from lex-api.com/dashboard. There is a FREE plan, no card required, with enough credits to try the read tools; current allowances are on lex-api.com/pricing.
The server is hosted at `https://mcp.lex-api.com/v1` (Streamable HTTP). Add that URL to your client and sign in with your LexAPI account when it asks — no key to copy. You see a LexAPI consent page listing what the connection can do; calls are billed to your plan exactly like your own API key, and you can disconnect the app at any time under *Dashboard → Connected apps* (that revokes it immediately).
*Settings → Connectors → Add custom connector*, name it LexAPI, URL https://mcp.lex-api.com/v1, then *Connect* and sign in. Connectors added on claude.ai are also available in Claude Desktop (same account).
claude mcp add --transport http lexapi https://mcp.lex-api.com/v1
Then run /mcp in Claude Code and choose *Authenticate* for lexapi; your browser opens the LexAPI sign-in.
Any client that implements MCP authorization (OAuth 2.1 with protected-resource discovery) connects the same way: point it at https://mcp.lex-api.com/v1. The server answers an unauthenticated request with 401 and WWW-Authenticate: Bearer … resource_metadata="https://mcp.lex-api.com/.well-known/oauth-protected-resource/v1"; the client discovers LexAPI (https://lex-api.com) as the authorization server from there.
Clients without OAuth support — or scripts — send a key from the dashboard as Authorization: Bearer lex_... (or x-api-key: lex_...):
claude mcp add --transport http lexapi https://mcp.lex-api.com/v1 --header "Authorization: Bearer lex_..."
Add to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": { "lexapi": { "command": "npx", "args": ["-y", "@lexapi/mcp"], "env": { "LEXAPI_API_KEY": "lex_..." } } } }
Restart Claude Desktop.
claude mcp add lexapi --env LEXAPI_API_KEY=lex_... -- npx -y @lexapi/mcp
Run npx -y @lexapi/mcp with LEXAPI_API_KEY in the environment (Cursor: ~/.cursor/mcp.json; VS Code: .vscode/mcp.json; same command / args / env shape as above).
The npm package needs Node.js 20 or newer. It uses an API key; signing in with LexAPI is a feature of the hosted server.
Every call is billed from your LexAPI credit pool exactly like the REST endpoint it wraps; each tool's description states its cost so the model can see it.
| Tool | What it does | Credits |
|---|---|---|
lex_semantic_legislation | Find legislation articles by meaning. asOf returns the text in force on a date. Consolidated hits are labelled, with the authentic act to cite. | 5 (+ up to 5 per live version fetch with asOf) |
lex_semantic_case_law | Find judgments, orders and AG opinions by meaning; hyde for terse queries; court / date / case-number filters. | 5 (15 with hyde) |
lex_search | Structured EUR-Lex search: text, dates, type, author, procedure, collection. | 3 per page |
lex_recent_documents | What was published in the last N days. | 3 per 10 results |
lex_resolve | URL / ELI / ECLI → CELEX. | 1 |
lex_get_document | A document by CELEX — an outline first for large acts, then articleId or include parts; language and fallback languages. | 1 corpus · 4 Cellar · 5 live |
lex_get_documents_batch | Up to 50 documents at once (plan-capped). | per document, as above |
lex_get_metadata | Metadata only. | 1 · 4 · 5 |
lex_get_document_by_url | A document from a pasted EUR-Lex URL. | 1 · 4 · 5 |
lex_document_versions | LexAPI's observed version history of a document. | 1 |
lex_get_document_version | One observed snapshot, by version number or date. | 1 |
lex_cited_by | Documents citing / amending / correcting / repealing an act. includeNational adds national neighbours (BUSINESS+). | 1 |
lex_cites | What a document cites. includeNational adds national neighbours (BUSINESS+). | 1 |
lex_citation_network | Both directions in one call. includeNational adds national neighbours (BUSINESS+). | 20 |
lex_citation_path | Shortest citation chain between two documents. includeNational follows national documents (BUSINESS+). | 20 |
lex_related | Documents citing the same acts (bibliographic coupling). includeNational considers national documents (BUSINESS+). | 20 |
lex_citation_stats | Citation graph totals and most-cited documents. includeNational counts national documents (BUSINESS+). | 20 |
lex_extract_citations | Add a document's outbound citations to the graph. | 5 (1 if already done) |
lex_export | Corpus rows by type (exact label, any case) or type family (documentTypeCode), author, collection, language, document date (dateFrom/dateTo), changedSince or fetchedSince (BUSINESS plans and above). | 1 per row returned, at least 1 per call (1-credit admission, rows reserved up to limit, unreturned rows refunded; 402 if the pool cannot cover the reservation) |
lex_national_coverage | Which countries' national law LexAPI covers and what's live in each (sources, licences, attribution). Call first. | free |
lex_list_national_documents | Browse a country's national legislation/case law by title or type; cursor paging past the first 1,000 rows. | 3 per call |
lex_get_national_document | A national document by id. Always served from the corpus. | 5 → 1 |
lex_national_semantic_case_law | Semantic search over one country's case law. | 5 |
lex_national_semantic_legislation | Semantic search over one country's legislation. | 5 |
lex_info | Your plan, credit balance and limits. | free |
lex_list_webhooks · lex_get_webhook | Your webhooks and their deliveries. | free |
lex_create_webhook · lex_update_webhook · lex_delete_webhook · lex_test_webhook | Webhooks for new documents and for changes to watched acts (paid plans). The URL must be a public https URL (port 443/8443, no internal hosts or private addresses) — checked here as well as by the API. | free |
lex_national_coverage, lex_list_national_documents, lex_get_national_document, lex_national_semantic_case_law and lex_national_semantic_legislation cover member-state legislation and case law alongside the EU_LAW tools above. A country can be registered on LexAPI before it is made available to customers — always call lex_national_coverage first; the other tools answer an error for a country that isn't live yet. The citation-graph tools (lex_cited_by, lex_cites, lex_citation_network, lex_citation_path, lex_related, lex_citation_stats) accept national document ids directly (e.g. "AT-NOR-12345") and an includeNational option to pull in national neighbours — BUSINESS, SCALE and ENTERPRISE only, 403 below that. National results have the same fields in every country (LexAPI API 2.8.0): documentKind (act | decision) everywhere, and on a decision court, chamber, caseNumbers and citedNorms — whatever the source calls them. Every national result carries attribution (the official source and its licence, e.g. RIS, gesetze-im-internet.de, Normattiva, Légifrance/Judilibre, the Rechtspraak open data) — show it to the user alongside anything quoted. On FREE/STARTER/PROFESSIONAL plans, national-law calls also draw from a separate monthly allowance (reported as allowance on each response); BUSINESS and higher have no separate limit. A document its source withdrew (a takedown, a pseudonymisation fix) answers a distinct error — nothing of it is served, not even the title; the model is told not to retry and to drop any cached copy.
textAvailability (why text is missing, which languages exist, a pointer to the latest consolidated version) and language-fallback labels.lex_get_document returns the whole body when it fits maxChars (default 40,000 characters), otherwise an outline (article ids, section tree, counts). Fetch an article with articleId or parts with include; long parts continue with offset.consolidated: true, consolidatedAsOf, baseCelex and a note: quote them, cite the act as published in the Official Journal.asOfResolved, asOfVersion); unresolved hits keep the current text with an asOfReason, and the response warns about them.| Env var | Default | Purpose |
|---|---|---|
LEXAPI_API_KEY | *(required)* | Your API key from lex-api.com/dashboard. |
LEXAPI_BASE_URL | https://lex-api.com/api/v1 | Override for staging or self-hosting. |
LEXAPI_MCP_READ_ONLY | off | true hides (and refuses) every tool that is not read-only: webhook create / update / delete / test, and lex_extract_citations (it writes to the shared citation graph and costs credits). |
LEXAPI_TIMEOUT_MS | 55000 | Deadline for one tool call towards LexAPI, retries included. Raise it only together with your MCP client's own tool timeout. |
LEXAPI_MCP_ALLOWED_ORIGINS | *(none)* | Hosted HTTP server only: browser Origins allowed to call it (comma-separated, * for any). Requests without an Origin header (all non-browser clients) are always allowed. |
The key is sent only as the x-api-key header to LexAPI; it is never logged or included in tool output. A LEXAPI_API_KEY containing whitespace or control characters (e.g. a multi-line paste) is rejected at startup.
npm run start:http (or the Dockerfile) runs the Streamable HTTP transport (POST /v1, GET /health). Self-hosted, it accepts LexAPI API keys (Authorization: Bearer lex_… or x-api-key: lex_…); a request without one gets 401. A value that cannot be an API key (it contains a . or is longer than 8192 characters) is answered 401 and never forwarded.
| Env var | Default | Purpose |
|---|---|---|
PORT | 3000 | Listen port. |
LEXAPI_BASE_URL | https://lex-api.com/api/v1 | LexAPI REST base. |
Sign in with LexAPI is a feature of the hosted server at https://mcp.lex-api.com/v1: it needs an OAuth client registered with LexAPI, so a self-hosted copy runs with API keys only. The OAuth-related settings in src/oauth/config.ts (LEXAPI_OAUTH_*, LEXAPI_MCP_*) are for that deployment; the server refuses to start if they are set incompletely.
`/health` returns status
ตัดมาแค่ช่วงต้น อ่านต่อใน repo