Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
作者による説明(英語の原文)
Multi-engine web, image and WeChat search with page/PDF fetching over local MCP stdio.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
BRAVE_API_KEY, GOOGLE_API_KEY, GOOGLE_CSE_ID, PRISMSEARCH_HOME, PRISMSEARCH_CONFIG「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"prismsearch": {
"command": "npx",
"args": [
"-y",
"prismsearch"
],
"env": {
"BRAVE_API_KEY": "your-value",
"GOOGLE_API_KEY": "your-value",
"GOOGLE_CSE_ID": "your-value",
"PRISMSEARCH_HOME": "your-value",
"PRISMSEARCH_CONFIG": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add prismsearch --env BRAVE_API_KEY=your-value --env GOOGLE_API_KEY=your-value --env GOOGLE_CSE_ID=your-value --env PRISMSEARCH_HOME=your-value --env PRISMSEARCH_CONFIG=your-value -- npx -y prismsearch動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"prismsearch": {
"command": "npx",
"args": [
"-y",
"prismsearch"
],
"env": {
"BRAVE_API_KEY": "your-value",
"GOOGLE_API_KEY": "your-value",
"GOOGLE_CSE_ID": "your-value",
"PRISMSEARCH_HOME": "your-value",
"PRISMSEARCH_CONFIG": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"prismsearch": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"prismsearch"
],
"env": {
"BRAVE_API_KEY": "your-value",
"GOOGLE_API_KEY": "your-value",
"GOOGLE_CSE_ID": "your-value",
"PRISMSEARCH_HOME": "your-value",
"PRISMSEARCH_CONFIG": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
GOOGLE_CSE_ID envPRISMSEARCH_HOME envPRISMSEARCH_CONFIG envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント xiaonerner0821 で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:BRAVE_API_KEY, GOOGLE_API_KEY
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.3.3)がレジストリに届いたのは5 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Figma Context MCP, Claude Real Video, Figma MCP Server
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況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、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
PrismSearch
简体中文 | English
A multi-engine web search MCP (Model Context Protocol) server that aggregates search results from multiple search engines.
Like a prism splits light into a spectrum, PrismSearch disperses your search queries across multiple engines for multi-perspective results.
The built-in web search of AI coding agents such as Claude Code and DeepSeek Harness usually depends on an official account or a separately configured search API key. Use a third-party model, go through your own gateway, or simply skip the search account, and the built-in search is often unavailable — the agent ends up coding "closed-book".
PrismSearch adds that capability back with one command:
fetcher.browser.enabled: true, requires Playwright) and Google works without a key too. Brave / Google API keys are picked up automatically when present for extra reliabilityfetch_page reads web pages and PDFs (Markdown output, paginated for long documents), wechat_search searches WeChat Official Account articles — the "found it, now read it" half# Claude Code
claude mcp add prismsearch -- npx -y prismsearch
[!WARNING]
Scraping engines fetch results from public web pages. You are responsible for complying with each search engine's and target site's terms of service, robots policies and local laws, and for keeping request rates reasonable.
The learning/research recommendation is not an additional restriction on the Apache-2.0 license. This project is not affiliated with any search engine company. See the full Disclaimer at the end.
web_search, image_search, fetch_page, wechat_search, list_enginescache.backend: sqlite | memory | redis (SQLite by default)A single web_search call returns structured, deduplicated results:
{
"results": [ { "title": "Model Context Protocol - Introduction", "url": "https://modelcontextprotocol.io/introduction", "snippet": "The Model Context Protocol (MCP) is an open protocol that enables seamless integration between LLM applications and external data sources and tools.", "source": "brave", "position": 1 } ], "totalResults": 10, "engine": "brave", "searchTime": 842, "cached": false, "page": 1, "hasMore": true }
Every item in results[] always has title, url, snippet, source (the engine) and position, and may have timestamp; with mode=aggregate items also carry sources and the response carries engines. When the engine ignored some parameters the response carries warnings. The same JSON is returned both as structuredContent and as text in content.
flowchart LR
Client["MCP client Claude Code / Cursor / …"]
subgraph Transport["Transport src/server"] Stdio["stdio"] Http["Streamable HTTP auth · Host/Origin check · rate limit"] end
subgraph Tools["Tools src/tools"] WS["web_search"] IS["image_search"] WX["wechat_search"] FP["fetch_page"] LE["list_engines"] end
subgraph Search["Search orchestration"] Sel["Engine selection / circuit breaker engine-selector"] Chain["Fallback chain · aggregate RRF dedup · ad filter"] end
Engines["Engine adapters src/engines Google · Bing · Brave · Baidu · DDG Yandex · Sogou · 360 · Sogou WeChat"] Cache[("Cache src/cache sqlite / memory / redis")]
subgraph Fetch["Fetching src/fetcher"] SSRF["SSRF guard src/security/ssrf-guard"] HF["HTTP fetcher"] BF["Browser fetcher Playwright"] WK["Remote workers ts-worker / py-worker"] EX["Content extraction Readability / PDF"] end
Client --> Stdio & Http Stdio & Http --> Tools WS & IS --> Sel --> Chain --> Engines WX --> Engines LE -. status .-> Sel WS & IS & WX & FP -. read/write .-> Cache FP --> SSRF --> HF & BF & WK HF & BF & WK --> EX
In stdio mode there is a single client, so rate limiting happens at the tool layer; in HTTP mode the transport rate-limits per client. Whether fetch_page is delegated to a worker is controlled by workers.useFor; when no worker is available it falls back to the local fetchers, and the final URL returned by a worker is SSRF-checked again.
better-sqlite3 ships prebuilt binaries for mainstream platforms (Windows/macOS/Linux, x64/arm64); if prebuilds are unavailable on your platform, a C++ build toolchain is requiredoptionalDependency — installed by default (browsers download on install); use npm install --omit=optional for a minimal install. To add it later: npm install playwright && npx playwright install chromiumnpm install prismsearch
claude mcp add prismsearch -- npx -y prismsearch
Or add to your MCP settings:
{
"mcpServers": { "prismsearch": { "command": "npx", "args": ["-y", "prismsearch"], "env": { "BRAVE_API_KEY": "optional" } } } }
| Client | Config location | Notes |
|---|---|---|
| Claude Desktop | claude_desktop_config.json | Same mcpServers snippet |
| Cursor | ~/.cursor/mcp.json or .cursor/mcp.json | Same mcpServers snippet |
| VS Code (Copilot) | .vscode/mcp.json | Top-level key is servers; add "type": "stdio" |
| Windsurf / Cline etc. | Their own MCP config | Generic command + args form |
| Remote (HTTP) | Any Streamable HTTP client | URL http://host:3000/mcp, header Authorization: Bearer |
On Windows, if the client cannot find npx, set command to "cmd" and args to ["/c", "npx", "-y", "prismsearch"].
skills/prismsearch/SKILL.md is an Agent Skill that teaches the agent when to use each tool: search first and then read the source pages, use timeRange / aggregate mode, fall back to browser rendering, page through long documents, and handle engine failures. The MCP server above still has to be connected; the skill only adds usage guidance.
To install it for Claude Code, copy the folder into your skills directory:
# All projects
cp -r skills/prismsearch ~/.claude/skills/
cp -r skills/prismsearch .claude/skills/
Other agents that support the Agent Skills format can load the same folder.
dsh-plugin-prismsearch is a DeepSeek Harness plugin that installs both the MCP server and the skill in one step. In the DSH Web GUI, open Plugins → Add plugin and enter:
dsh-plugin-prismsearch
The plugin starts a pinned prismsearch version through npx, so Node.js >=22.19.0 must be on PATH. The first start downloads the package and can take a few seconds. Tools appear as mcp__prismsearch__web_search and so on. If BRAVE_API_KEY, GOOGLE_API_KEY or GOOGLE_CSE_ID are set where DSH starts, they are forwarded to the server. If you have already added an MCP entry with serverName: prismsearch by hand, remove it or rename it first, otherwise the two entries conflict. See the plugin README for details.
| Engine | Web | Image | Method | Default | Notes |
|---|---|---|---|---|---|
| ✅ | ✅ | API / browser / HTTP | on | Custom Search API is the most reliable; plain HTTP usually hits the JS wall | |
| Bing | ✅ | ✅ | HTTP scraping | on | |
| Brave | ✅ | ✅ | Official API | on | Needs BRAVE_API_KEY; skipped when absent |
| Baidu | ✅ | ✅ | HTTP scraping / JSON API | on | Chinese content |
| DuckDuckGo | ✅ | — | HTTP scraping | off | Frequent requests trigger a bot challenge |
| Yandex | ✅ | — | HTTP scraping | off | |
| Sogou | ✅ | — | HTTP scraping | off | Chinese content |
| 360 Search | ✅ | — | HTTP scraping | off | Chinese content |
How each web_search parameter is translated for each engine. "—" means the engine has no equivalent; the parameter is accepted but ignored, and the response's warnings lists which parameters were dropped. list_engines also declares per-engine suppo
冒頭だけを表示しています。続きはリポジトリで読めます