ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

MCP Databnf

โดย smeet666รุ่น 2.2.0i★ –iรันบนเครื่อง
ชื่อใน registryio.github.smeet666/mcp-databnf

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Search the BnF open catalogue: authors, works, editions and links to what is digitised.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: ค้นข้อมูลและความจำของ AI

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

  • ผลตรวจเบื้องต้น: ผ่าน 1 จาก 1 ข้อ
  • รันในเครื่องคุณด้วยสิทธิ์ของผู้ใช้คุณ (ไฟล์ อินเทอร์เน็ต แอปต่าง ๆ)
  • ค่าที่คุณต้องใส่เอง: BNF_USER_AGENT, BNF_MIN_INTERVAL_MS, BNF_TIMEOUT_MS, BNF_MAX_RETRIES, BNF_CACHE_TTL_MS, BNF_LOG_LEVEL

ต้องเตรียมก่อน

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

ดาวน์โหลดไฟล์ .mcpb ของผู้ทำ

ลิงก์ไปที่ไฟล์ของผู้ทำเอง เราไม่ได้เก็บหรือแพ็กใหม่ เปิดไฟล์แล้ว Claude Desktop จะติดตั้งให้

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add databnf --env BNF_USER_AGENT='ใส่ค่าของคุณ' --env BNF_MIN_INTERVAL_MS='ใส่ค่าของคุณ' --env BNF_TIMEOUT_MS='ใส่ค่าของคุณ' --env BNF_MAX_RETRIES='ใส่ค่าของคุณ' --env BNF_CACHE_TTL_MS='ใส่ค่าของคุณ' --env BNF_LOG_LEVEL='ใส่ค่าของคุณ' -- npx -y mcp-databnf

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "databnf": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-databnf"
      ],
      "env": {
        "BNF_USER_AGENT": "ใส่ค่าของคุณ",
        "BNF_MIN_INTERVAL_MS": "ใส่ค่าของคุณ",
        "BNF_TIMEOUT_MS": "ใส่ค่าของคุณ",
        "BNF_MAX_RETRIES": "ใส่ค่าของคุณ",
        "BNF_CACHE_TTL_MS": "ใส่ค่าของคุณ",
        "BNF_LOG_LEVEL": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "databnf": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mcp-databnf"
      ],
      "env": {
        "BNF_USER_AGENT": "ใส่ค่าของคุณ",
        "BNF_MIN_INTERVAL_MS": "ใส่ค่าของคุณ",
        "BNF_TIMEOUT_MS": "ใส่ค่าของคุณ",
        "BNF_MAX_RETRIES": "ใส่ค่าของคุณ",
        "BNF_CACHE_TTL_MS": "ใส่ค่าของคุณ",
        "BNF_LOG_LEVEL": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • BNF_USER_AGENT env
    Identify your own client. The project's own identifier is appended, so the BnF can always reach a person.
  • BNF_MIN_INTERVAL_MS env
    Minimum milliseconds between requests. Default 3000, which is also the floor.
  • BNF_TIMEOUT_MS env
    Deadline for one SPARQL query, in milliseconds. Default 60000.
  • BNF_MAX_RETRIES env
    Attempts after a busy answer. Default 3.
  • BNF_CACHE_TTL_MS env
    How long an answer is kept in memory, in milliseconds. Default 900000. Zero turns the cache off.
  • BNF_LOG_LEVEL env
    silent, error, info or debug. Default error. Logs go to stderr.

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub smeet666 ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด ค้นข้อมูลและความจำของ AIi

  • ดาวมากกว่า 0% ของอีก 7249 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 82% ของอีก 7249 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 7249 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

MCP Databnf ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (2.2.0) เข้า registry 8 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js, MCPB ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Context7, Codebase Memory, Exa

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Context7

โดย upstash

ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว

บนเครื่องหรือคลาวด์★ 64,224MITอัปเดต วันนี้
ติดตั้ง

Codebase Memory

โดย DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

รันบนเครื่อง★ 48,148MITอัปเดต 20 วันที่ผ่านมา
ติดตั้ง

Exa

โดย exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

รันบนคลาวด์★ 5,213MITอัปเดต เดือนที่แล้ว
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

mcp-databnf

data.bnf.fr is the open data service of the Bibliothèque nationale de France. It publishes the authority records the national library maintains: the people it catalogues, with their dates, their places, their languages and their fields of activity; the works they wrote, with the editions each work was published in; and the links to the copies digitised in Gallica. A record states whether the library considers it established or still provisional.

This server connects a chat client to that service. You can search for an author or a work by name, read a record in full, list what an author wrote, list the editions of a work, and find the digitised copies attached to either. It needs no API key and no account.

_Version française_


Install

One-click install

Claude Code

claude mcp add databnf -- npx -y mcp-databnf

Claude Desktop, Cursor, and any client using the standard config format

{

"mcpServers": { "databnf": { "command": "npx", "args": ["-y", "mcp-databnf"] } } }

Node 24 or later is required, and no environment variable has to be set.

With Docker
{

"mcpServers": { "databnf": { "command": "docker", "args": ["run", "-i", "--rm", "ghcr.io/smeet666/mcp-databnf:2.2.0"] } } }

-i keeps stdin open, which is where the protocol travels, and -t is left out because a TTY rewrites the stream. The container needs outbound HTTPS to data.bnf.fr, and nothing else: no volume, no port, no credential.

Bundle, without npm

Download mcp-databnf-2.2.0.mcpb from the latest release and open it. A client that supports MCP bundles installs it on its own, with no npm and no configuration file to edit. The bundle carries its dependencies, so nothing is fetched at install time.

What you can ask

  • « Que dit la BnF de Colette ? »
  • "List everything Marguerite Duras wrote."
  • "Which editions of that work does the library hold?"
  • "Are any of them digitised in Gallica?"
  • "When was that record last established?"

The ordinary path runs from a search to a record: a row carries an id, and get_author or get_work reads it.

Tools

ToolWhat it does
search_authorsFinds people by name in the authority records.
get_authorReads one person's record in full.
search_worksFinds works by title.
get_workReads one work's record in full.
list_worksLists the works one person is credited with.
list_editionsLists the editions of one work.
find_digitisedFinds the copies digitised in Gallica for a person or a work.
search_authors

Finds people by name in the authority records.

ArgumentTypeRequiredWhat it does
namestring, 1 to 200 charactersyesThe name to look for.
limitinteger, 1 to 50, default 10noRows to serve.
pageinteger, 1 to 100, default 1noWhich page of rows.

In return: authors, each carrying id, which get_author, list_works and find_digitised take; name as the service writes it; label, the authority heading, usually with the dates; birth_year and death_year, null where the record states none; role; and source_url. words_searched says what was actually sent, has_more whether further pages exist, and index_window_full that the index served everything it will serve for this search.

get_author

Reads one person's record in full.

ArgumentTypeRequiredWhat it does
author_idstring, 1 to 200 charactersyesThe identifier a row carries.
include_depictionsboolean, default falsenoAdd the portraits the record points to.

In return: the person with name, label, given_name, family_name, other_names, birth_date and death_date as published, birth_year and death_year as numbers, birth_place, death_place, biographical_information, occupation, languages as ISO 639-2 codes, countries and fields in the words of the record. A field the record leaves empty is null.

search_works

Finds works by title.

ArgumentTypeRequiredWhat it does
titlestring, 1 to 200 charactersyesThe words of the title to look for.
limitinteger, 1 to 50, default 10noRows to serve.
pageinteger, 1 to 100, default 1noWhich page of rows.

In return: works, each carrying id, which get_work, list_editions and find_digitised take; title; date, the year the record gives the work, as published; creators; status, reading established or provisional; and source_url. The envelope carries the same words_searched, has_more and index_window_full a search of people returns.

get_work

Reads one work's record in full.

ArgumentTypeRequiredWhat it does
work_idstring, 1 to 200 charactersyesThe identifier a row carries.
include_depictionsboolean, default falsenoAdd the illustrations the record points to.

In return: the work with title, label, date as published, first_year, creators as { id, name }, languages, forms, subjects and dewey_classes in the words of the record, expression_count, same_as for the registers the BnF aligns it with, and catalogue_url. status reads established or provisional, and status_statement says what the library means by it: a provisional record is one the library has not finished checking.

list_works

Lists the works one person is credited with.

ArgumentTypeRequiredWhat it does
author_idstring, 1 to 200 charactersyesThe person's identifier.
limitinteger, 1 to 50, default 10noRows to serve.
pageinteger, 1 to 100, default 1noWhich page of rows.

In return: works, each carrying id, title, date as published, year as a number where the record has one, forms, status and source_url, with has_more to continue.

list_editions

Lists the editions of one work.

ArgumentTypeRequiredWhat it does
work_idstring, 1 to 200 charactersyesThe work's identifier.
limitinteger, 1 to 50, default 10noRows to serve.
pageinteger, 1 to 100, default 1noWhich page of rows.

In return: editions, each carrying its own id in the BnF catalogue, the title this edition bears, date and year, publisher, place, edition_statement, extent, isbn, note as the cataloguer wrote it, catalogue_url, digitised and source_url. A field the record leaves empty is null.

find_digitised

Finds the copies digitised in Gallica attached to a person or a work.

ArgumentTypeRequiredWhat it does
idstring, 1 to 200 charactersyesThe identifier of a person or of a work.
kindauto, person or work, default autonoWhat the identifier stands for.
limitinteger, 1 to 200, default 40noLinks to serve.

In return: kind, saying what the catalogue types the record as, and links, each carrying the Gallica ark, its url, its rendering and the role the person holds on it. links_returned_by_role counts them per role. This server describes a digitised document and never opens one.

Established and provisional records

A record carries a status. established means the library has checked it; provisional means it has not finished, and status_statement says so in the library's own words. Report the status alongside anything taken from a provisional record.

The licence, and what it asks

The BnF states one condition on these metadata:

L'utilisation de ces métadonnées est libre et gratuite sous réserve du maintien

de la mention de leur source et de l'indication de leur date de récupération.

Use is free of charge, provided the source is named and the date of retrieval is stated. Every answer carries retrieved_at in its payload and ends its text with the source and that date. A cached answer reports the moment it was originally read, since that is when it was retrieved. Repeat both wherever what you got is shown.

Configuration

Every variable is optional. Set them in the env block of your client config.

| Variable | Default | What it d

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx