Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Read IMSLP, the Petrucci Music Library: works, scores, editions, copyright. No API key.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
IMSLP_USER_AGENT, IMSLP_MIN_INTERVAL_MS, IMSLP_TIMEOUT_MS, IMSLP_MAX_RETRIES, IMSLP_CACHE_TTL_MS, IMSLP_CACHE_MAX_ENTRIES, IMSLP_LOG_LEVELต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ลิงก์ไปที่ไฟล์ของผู้ทำเอง เราไม่ได้เก็บหรือแพ็กใหม่ เปิดไฟล์แล้ว Claude Desktop จะติดตั้งให้
พิมพ์คำสั่งนี้ใน Terminal
claude mcp add imslp --env IMSLP_USER_AGENT='ใส่ค่าของคุณ' --env IMSLP_MIN_INTERVAL_MS='ใส่ค่าของคุณ' --env IMSLP_TIMEOUT_MS='ใส่ค่าของคุณ' --env IMSLP_MAX_RETRIES='ใส่ค่าของคุณ' --env IMSLP_CACHE_TTL_MS='ใส่ค่าของคุณ' --env IMSLP_CACHE_MAX_ENTRIES='ใส่ค่าของคุณ' --env IMSLP_LOG_LEVEL='ใส่ค่าของคุณ' -- npx -y mcp-imslpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"imslp": {
"command": "npx",
"args": [
"-y",
"mcp-imslp"
],
"env": {
"IMSLP_USER_AGENT": "ใส่ค่าของคุณ",
"IMSLP_MIN_INTERVAL_MS": "ใส่ค่าของคุณ",
"IMSLP_TIMEOUT_MS": "ใส่ค่าของคุณ",
"IMSLP_MAX_RETRIES": "ใส่ค่าของคุณ",
"IMSLP_CACHE_TTL_MS": "ใส่ค่าของคุณ",
"IMSLP_CACHE_MAX_ENTRIES": "ใส่ค่าของคุณ",
"IMSLP_LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"imslp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-imslp"
],
"env": {
"IMSLP_USER_AGENT": "ใส่ค่าของคุณ",
"IMSLP_MIN_INTERVAL_MS": "ใส่ค่าของคุณ",
"IMSLP_TIMEOUT_MS": "ใส่ค่าของคุณ",
"IMSLP_MAX_RETRIES": "ใส่ค่าของคุณ",
"IMSLP_CACHE_TTL_MS": "ใส่ค่าของคุณ",
"IMSLP_CACHE_MAX_ENTRIES": "ใส่ค่าของคุณ",
"IMSLP_LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
IMSLP_USER_AGENT envIMSLP_MIN_INTERVAL_MS envIMSLP_TIMEOUT_MS envIMSLP_MAX_RETRIES envIMSLP_CACHE_TTL_MS envIMSLP_CACHE_MAX_ENTRIES envIMSLP_LOG_LEVEL envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub smeet666 ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.1.0) เข้า registry 8 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js, MCPB ในเครื่องด้วย
ในหมวดเดียวกันมี Figma Context MCP, Claude Real Video, Figma MCP Server
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Let any LLM watch a video locally — and search everything it has ever watched.
server ทางการของ Figma ส่งข้อมูลงานออกแบบให้ AI อ่าน เพื่อเปลี่ยนแบบเป็นโค้ดหรืออธิบายแบบได้ตรงขึ้น ต่อผ่านคลาวด์ของ Figma
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
IMSLP, the International Music Score Library Project, is also called the Petrucci Music Library. It is a free library of classical music run by volunteers, holding the sheet music, the parts, the arrangements and the recordings of works whose copyright has lapsed, together with what its pages say about each composer. It reviews the copyright of every score for Canada, the United States and the European Union separately, and publishes its pages under CC BY-SA 4.0.
This server connects a chat client to that library. You can search the works and the people it catalogues, read a work with its opus number, its key, its instrumentation and the year it was written, page through the editions a work holds with their publishers, editors and copyright terms, read what the library says about a composer, and browse a genre, a key or an instrumentation. It reads the library and links to it, and it needs no API key and no account.
_Version française_
One-click install
Claude Code
claude mcp add imslp -- npx -y mcp-imslp
Claude Desktop, Cursor, and any client using the standard config format
{
"mcpServers": { "imslp": { "command": "npx", "args": ["-y", "mcp-imslp"] } } }
Node 24 or later is required, and no environment variable has to be set.
{
"mcpServers": { "imslp": { "command": "docker", "args": ["run", "-i", "--rm", "ghcr.io/smeet666/mcp-imslp:1.1.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 imslp.org, and nothing else: no volume, no port, no credential.
Download mcp-imslp-1.1.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.
The ordinary path runs from a search to a work: search_works names the page of a work, and get_work reads that page. The same holds for a person, from search_people to get_person or list_person_works.
| Tool | What it does |
|---|---|
search_works | Finds the page of a work by title, composer or words on the page. |
search_people | Finds the category a composer, editor, arranger or performer is filed under. |
get_work | Reads one work: its facets, its sections and its copyright terms. |
list_work_files | Pages through the editions a work holds, with their files. |
list_person_works | Reads the works the library files under one person. |
get_person | Reads what the library holds about one person. |
browse_category | Reads the works filed under a genre, a key or an instrumentation. |
A work is addressed by the title of its page, written Work (Composer), as in Nocturnes, Op.9 (Chopin, Frédéric). A person is addressed by a category, written Category:Surname, Forename. Both come back from a search, and the Category: prefix may be left out.
The library titles a work in the language its composer used, so Die Zauberflöte finds the opera where The Magic Flute finds the pages written about it. A thin answer for a famous work is a sign the title is in another language.
search_worksSearches the pages of the works for words appearing anywhere on them, so a title, a composer or a dedication all find the works carrying them.
| Argument | Type | Required | What it does |
|---|---|---|---|
query | string, 1 to 300 characters | yes | What to look for across the pages of the works. |
limit | integer, 1 to 50, default 10 | no | Rows to serve. |
offset | integer, 0 or more, default 0 | no | Rows to skip, using the next_offset of a prior answer. |
In return: rows carrying page, which get_work takes; work and composer, read off that title; page_url; snippet, the words around the match; size_bytes, words and last_edited as the library states them. The envelope carries returned, has_more and next_offset, which is the offset to read on from. total is always null: the library publishes no count of what a search matched. composer is null on a title written outside the Work (Composer) form, and snippet is null on a row the search summarised with nothing.
search_peopleFinds the composers, editors, arrangers and performers by name. The library writes a name its own way, surname first, so searching finds a person where guessing at the spelling reaches nothing.
| Argument | Type | Required | What it does |
|---|---|---|---|
query | string, 1 to 300 characters | yes | The name to look for among the people of the library. |
limit | integer, 1 to 50, default 10 | no | Rows to serve. |
offset | integer, 0 or more, default 0 | no | Rows to skip, using the next_offset of a prior answer. |
In return: rows carrying category, which get_person and list_person_works take; name without the prefix; page_url; snippet; and redirect_to. A row with a redirect_to stands for another category and holds no works of its own, so follow the category it names. The envelope is the one search_works returns, and total is null here for the same reason.
get_workReads one work: its title and alternative titles, the composer, the opus and catalogue numbers, the year of composition and of first publication, the dedication, the key, the language, the librettist, the instrumentation, the movements, the first performance, the style and the period.
| Argument | Type | Required | What it does |
|---|---|---|---|
page | string, 1 to 300 characters | one of two | The page title, written Work (Composer). |
pageid | integer, positive | one of two | The page id a search returned, as an alternative to page. |
In return: every facet above, each null when the page leaves it empty, and each in the wording the page used, so ca.1830 stays ca.1830. Beside them come genre_categories, which browse_category takes; external_links and authorities, the records of the work at VIAF, LCCN, WorldCat, BNF and GND; sections, with the number of entries the site counts in each; and copyright_summary, one entry per distinct statement, with the number of editions carrying it. editions holds every edition with its files, and turns null with editions_truncated true when the work holds more than five, which list_work_files then pages through. redirected_from names the title asked for when it led here, and pageid is null for a work addressed by title.
list_work_filesReads the scores and the recordings of a work, edition by edition. An edition is a set of files published under one set of terms: the publisher, the editor and the copyright statement belong to the edition, and the files sit under it. A block of recordings carries performers and no copyright statement.
| Argument | Type | Required | What it does |
|---|---|---|---|
page | string, 1 to 300 characters | one of two | The page title, written Work (Composer). |
pageid | integer, positive | one of two | The page id a search returned, as an alternative to page. |
section | string, 1 to 80 characters | no | One section of the page, in its own wording: Scores, Parts, Recordings, Arrangements and Transcriptions. Matched without regard to case. |
limit | integer, 1 to 100, default 10 | no | Editions to serve. |
offset | integer, 0 or more, default 0 | no | Editions to skip. |
In return: editions, each with its section, publisher_info, editor, copyright and files. A file carries imslp_id, description, `fo
ตัดมาแค่ช่วงต้น อ่านต่อใน repo