Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
作者提供的说明(英文原文)
Design ERDs with your team's naming standards: query/edit entities and relationships, SQL/DBML
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"sqemo": {
"command": "npx",
"args": [
"-y",
"sqemo-mcp"
]
}
}
}在终端中运行这条命令
claude mcp add sqemo -- npx -y sqemo-mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"sqemo": {
"command": "npx",
"args": [
"-y",
"sqemo-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"sqemo": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"sqemo-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过 GitHub 账户 sqemo 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(2.8.3)于21天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Figma Context MCP, Claude Real Video, Figma MCP Server
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
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.
The Figma MCP server brings Figma design context directly into your AI workflow.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
MCP server for [Sqemo](https://sqemo.com) — AI agents that follow your team's database naming standard.
Your agent models in business terms ("Customer Number"); the column comes out as cust_no because *your* word list says customer → cust, number → no (case and delimiter are rules too, so CUST_NO is one setting away). Same input, same name, every table, every agent. Overrides are allowed but flagged, and a CLI lint catches drift in CI.
{ "mcpServers": { "sqemo": { "command": "npx", "args": ["-y", "sqemo-mcp"] } } }
Works with Claude Code, Claude Desktop, Cursor, and any MCP client. Local .erd.json files need no account; cloud ERDs and Pro tools need npx sqemo-mcp login.
*Model a discussion board where members post articles, a post can be a reply to another
post, and members comment on posts.*
The agent calls the tools with logical names and never types a column name:
upsert_entity { logicalName: "Post" }
// → { physicalName: "POST" }
upsert_attribute { logicalName: "Post Content", domain: "Content" } // → { physicalName: "POST_CNTS" } // Content → CNTS: from the team word list
upsert_attribute { logicalName: "Delete Flag", domain: "Flag" } // → { physicalName: "DELETE_YN" } // Flag → YN: same rule in every table
lint_erd // → naming drift, missing words, referential integrity — before any DDL is written
CNTS and YN are not the agent's taste. They are your word list's abbreviations, applied the same way they were applied in every other table your team has modelled. Domains carry the data type, so Content is varchar(1000) everywhere it appears.
Full walkthrough with every tool call: Describe the work, get a governed schema.
AI agents can query and edit entities, relationships, and domains; generate physical names from a shared team glossary; import/export SQL (7 dialects) and DBML; and compare the model against a live database. Works with both local .erd.json files and ERDs stored on the Sqemo cloud.
sqemo-mcpio.github.sqemo/sqemoRequires Node.js >= 22. Local-file tools work without any account or configuration.
Login is needed for cloud ERD tools, and for the tools marked (Pro) below.
.mcp.json){
"mcpServers": { "sqemo": { "command": "npx", "args": ["-y", "sqemo-mcp"] } } }
Add the same mcpServers entry to your config file:
%APPDATA%\Claude\claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.json.cursor/mcp.json){
"mcpServers": { "sqemo": { "command": "npx", "args": ["-y", "sqemo-mcp"] } } }
npx sqemo-mcp login # pick Google, GitHub, or email + password
npx sqemo-mcp logout # removes stored credentials
login asks how you want to sign in. Google and GitHub open a browser tab, complete a PKCE OAuth flow, and hand the session back through a one-shot loopback server on 127.0.0.1; the third option takes an email and password in the terminal. Only a refresh token is ever stored.
~/.erdmaker/credentials.json (mode 0600 on POSIX); your password is never persisted.--password forces the email + password path, --provider google|github forces a browser path.printf 'email\npassword\n' | npx sqemo-mcp login127.0.0.1). Over SSH or in CI, use --password or the SQEMO_EMAIL / SQEMO_PASSWORD environment variables.36 tools in total.
| Tool | Description |
|---|---|
list_erds / list_workspaces | Cloud ERDs and workspaces you belong to (login required) |
get_erd_overview | Name, dialect, entity/relationship/domain/glossary stats |
list_entities / get_entity | Entity list and full detail (attributes, keys, logical/physical mapping) |
list_relationships | Relationships with endpoints and cardinality |
list_domains | Domain definitions (also from workspace standard glossaries) |
search_dictionary | Search the team glossary (logical/physical words, abbreviations, synonyms) |
check_naming | Check a logical name against the team naming standard |
generate_physical_name | Logical name → physical name via glossary + naming rules |
export_sql | CREATE TABLE SQL — mysql, postgres, cubrid, oracle, sqlserver, sqlite, h2 |
export_dbml | DBML text |
validate_erd / lint_erd | Structural validation and full lint (naming drift, referential integrity, duplicates) |
diff_erds | Diff two sources (files, cloud ERDs, or raw SQL/DBML text) — dry-run before imports |
export_alter_sql | Migration (ALTER) script from the physical diff against a baseline — renames stay renames via stable IDs, destructive changes come commented out (Pro) |
list_proposals | Glossary proposal queue status (login required) |
Read-only against your own database. Both query only the information schema — never table data — and the connection URL is used by this local process only, never sent to Sqemo servers.
| Tool | Description |
|---|---|
introspect_db | Import a live PostgreSQL/MySQL schema into an existing ERD (Pro) |
check_db_drift | Check a live database or a schema dump against the ERD's physical model — missing/extra tables and columns, PK/FK/NOT NULL mismatches (Pro) |
| Tool | Description |
|---|---|
create_erd | New ERD from scratch or from SQL/DBML text — to a file or the cloud |
upsert_entity / delete_entity | Entity editing with automatic physical-name derivation |
upsert_attribute / delete_attribute | Attribute editing — PK rules and FK propagation handled automatically |
upsert_relationship / delete_relationship | Relationship editing with automatic FK derivation |
upsert_domain / delete_domain | Domain definition editing |
upsert_dictionary_word / delete_dictionary_word | Glossary editing (standard-linked glossaries are protected) |
update_naming_rules | Naming rule editing (delimiter, case, unknown-word handling) |
import_sql / import_dbml | Replace an ERD from parsed SQL/DBML (IDs preserved) |
auto_layout | Automatic entity/table layout (dagre) |
propose_dictionary_word / withdraw_proposal | Propose new glossary words for owner approval |
Cloud writes require owner or shared-editor permission and are protected by version CAS with 3-way auto-merge for concurrent edits.
Offline, file-based subcommands (no login needed):
# Naming-standard check — exits 1 on violations, great as a CI gate
npx sqemo-mcp lint schema.erd.json
npx sqemo-mcp export schema.erd.json --format sql --dialect postgres > schema.sql npx sqemo-mcp export schema.erd.json --format dbml > schema.dbml
Drift mode compares the model against a real database or a dump, and exits 1 when they disagree (Pro, requires login):
npx sqemo-mcp lint schema.erd.json --db "$DATABASE_URL" [--db-schema public] [--strict]
npx sqemo-mcp lint schema.erd.json --schema dump.sql --dialect postgres npx sqemo-mcp lint --erd --db "$DATABASE_URL" --ignore 'tmp_*'
GitHub Actions example:
- run: npx sqemo-mcp lint schema.erd.json
| Variable | Purpose |
|---|---|
SQEMO_EMAIL / SQEMO_PASSWORD | Non-interactive login for CI and SSH sessions (no browser needed) |
ERDMAKER_HOME | Override the credentials directory (default ~/.erdmaker) |
ERDMAKER_SUPABASE_URL | Override the API URL (defaults to the Sqemo cloud) |
ERDMAKER_SUPABASE_ANON_KEY | Override the API publishable key |
ERDMAKER_MAX_REQUESTS_PER_MINUTE | Per-minute request cap (default 120, 0 disables) |
ERDMAKER_MAX_REQUESTS_PER_DAY | Daily request cap (default 10000, 0 disables) |
The request caps are a safety net against agents stuck in loops; exceeding them returns a rate_limited error that tells the agent to stop and notify the user.
All tool errors return { code, message } — e.g. not_authenticated, no_permission, save_conflict (retry after re-reading), validation_failed, rate_limited.
MIT