Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Check your own sites' pages on Google and request indexing, plus IndexNow, from your AI assistant.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
INDEXMACHINE_API_KEY, Authorizationค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"indexmachine": {
"command": "npx",
"args": [
"-y",
"indexmachine-mcp"
],
"env": {
"INDEXMACHINE_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http indexmachine https://mcp.indexmachine.co/mcp --header 'Authorization: Bearer {api_key}'claude mcp add indexmachine --env INDEXMACHINE_API_KEY='ใส่ค่าของคุณ' -- npx -y indexmachine-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"indexmachine": {
"url": "https://mcp.indexmachine.co/mcp",
"headers": {
"Authorization": "Bearer {api_key}"
}
}
}
}วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"indexmachine": {
"command": "npx",
"args": [
"-y",
"indexmachine-mcp"
],
"env": {
"INDEXMACHINE_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"indexmachine": {
"type": "http",
"url": "https://mcp.indexmachine.co/mcp",
"headers": {
"Authorization": "Bearer {api_key}"
}
}
}
}วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"indexmachine": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"indexmachine-mcp"
],
"env": {
"INDEXMACHINE_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
Authorization ความลับ จำเป็น HTTP headerค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันโดเมน indexmachine.co แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: INDEXMACHINE_API_KEY, Authorization
ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.0) เข้า registry 6 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, dotnet-mcp
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
MCP server for .NET symbols, XAML, source generators, and restricted workspace edit
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Check your own sites' pages on Google and request indexing, plus IndexNow, from your AI assistant.
This MCP server lets Claude Code, Cursor, VS Code, Claude Desktop and claude.ai work with the sites you connected to IndexMachine: list your sites and pages, check whether a URL is on Google, queue a Request indexing click (also a re-index of a page that is already indexed) and notify Bing and the other IndexNow engines. It calls the IndexMachine API with your key and does nothing the API does not.
IndexMachine uses Request indexing in your own Google Search Console and IndexNow, no link farms. So a request is not instant, and the server says so every time:
request_indexing queues the click. It does not reach Google by itself.check_url says a page is indexed.A re-index of a page that is already on Google (force: true) needs extension 1.2.0 or newer. IndexNow tells Bing, Yandex and the other IndexNow engines directly; it needs the site's IndexNow key file in place, takes 20 submissions per site a day and does not reach Google.
Claude Code.im_live_ and is shown only once.Roll or revoke a key on the same page at any time; an account holds up to 10 active keys.
The package runs on your machine with npx (Node.js 20 or newer). Keep the key in your user-level config, never in a file that lives in a repository.
Claude Code (user scope, so the key stays out of the project's .mcp.json)
claude mcp add --scope user indexmachine --env INDEXMACHINE_API_KEY=im_live_... -- npx -y indexmachine-mcp
Cursor (~/.cursor/mcp.json, the user-level file)
{
"mcpServers": { "indexmachine": { "command": "npx", "args": ["-y", "indexmachine-mcp"], "env": { "INDEXMACHINE_API_KEY": "im_live_..." } } } }
VS Code (.vscode/mcp.json): VS Code asks for the key and keeps it out of the file.
{
"inputs": [ { "type": "promptString", "id": "indexmachine-key", "description": "IndexMachine API key", "password": true } ], "servers": { "indexmachine": { "type": "stdio", "command": "npx", "args": ["-y", "indexmachine-mcp"], "env": { "INDEXMACHINE_API_KEY": "${input:indexmachine-key}" } } } }
Claude Desktop (claude_desktop_config.json): the same block as Cursor, under mcpServers.
Other MCP clients: run npx -y indexmachine-mcp with INDEXMACHINE_API_KEY in its environment, or use the remote server below.
The remote server at https://mcp.indexmachine.co/mcp needs no install. Clients send the API key in a header:
URL: https://mcp.indexmachine.co/mcp
Header: Authorization: Bearer (X-API-Key: works too)
Claude Code
claude mcp add --transport http indexmachine https://mcp.indexmachine.co/mcp \
--header "Authorization: Bearer $INDEXMACHINE_API_KEY"
Cursor (~/.cursor/mcp.json)
{
"mcpServers": { "indexmachine": { "url": "https://mcp.indexmachine.co/mcp", "headers": { "Authorization": "Bearer im_live_..." } } } }
VS Code (.vscode/mcp.json)
{
"inputs": [ { "type": "promptString", "id": "indexmachine-key", "description": "IndexMachine API key", "password": true } ], "servers": { "indexmachine": { "type": "http", "url": "https://mcp.indexmachine.co/mcp", "headers": { "Authorization": "Bearer ${input:indexmachine-key}" } } } }
IndexMachine and the URL https://mcp.indexmachine.co/mcp.Authorization with the value Bearer im_live_..., then press Add.IndexMachine and the Submitator connector can be on in the same chat: no tool name is shared.
Signing in with your IndexMachine account instead of a key (OAuth) is built into this server and stays off until IndexMachine's API issues sign-in tokens. Until then the server advertises no sign-in, and every client sends a key.
The remote server keeps nothing between requests: it passes the key on to the IndexMachine API and forgets it.
| Tool | What it does |
|---|---|
account_status | Your plan, the key's permissions and hourly budget, whether the Chrome extension is online, and today's requests per site against Google's daily quota |
list_sites | Your connected Search Console properties with page counts, whether Google indexing is on, whether a paid plan covers them and whether IndexNow is ready |
site_summary | One site: today's Request indexing quota, the median days from a first request to indexing, and 30 days of counts |
list_pages | A site's pages by status (indexed, not_indexed, awaiting, requested, rejected, needs_fix, excluded, not_found) or part of the URL, 50 at most per call |
check_url | Whether a URL is indexed, and as of when, or that it is not known yet (never inspected); live: true asks Google now and uses 1 of 50 live checks per site a day |
request_indexing | Queues a Request indexing click, also for a URL that is not a page of the site yet, and with force: true a re-index of an indexed page. Answers the queue position and an honest ETA |
get_indexing_request, list_indexing_requests | Follow requests: open ones with their position and ETA, closed ones with what Search Console answered |
cancel_indexing_request | Takes an open request out of the queue |
submit_indexnow | Notifies Bing, Yandex and the other IndexNow engines of up to 100 URLs of one site |
Prompt: index_url checks a URL, queues a request when it is not indexed, and reports the ETA as it is.
request_indexing previews before it queues. It asks you before a re-index of a page that is already on Google, a URL that is not in your sitemap, or your site's last request of the day; declining queues nothing. Clients that can ask their user (MCP elicitation) show the question themselves, and your answer never passes through the model; a question that gets no answer queues nothing either. Clients that cannot ask, and on the remote server clients on an MCP protocol before 2026-07-28, get a refusal first, with the reasons and a confirm token: an HMAC under your API key that fits only that request, on that day, while your site's quota stays as it was. The model cannot make one up, so a call always takes the refusal first. Whether your assistant then shows you the reasons before it sends the token back is up to the assistant and to your client's approval of tool calls; the server cannot see it. submit_indexnow does the same above 10 URLs, with a token for those URLs on that Pacific day.cancel_indexing_request is marked destructive (destructiveHint: true), and no other tool is: it undoes a request. The tools that only read are marked read-only, so clients can run them without asking.npx package reads the key from its environment and sends it only to https://api.indexmachine.co. INDEXMACHINE_API_URL may point it to a local development server, and nowhere else.mcp-. Revoke a key on the Settings page at any time.npm install
npm test # unit, contract and protocol tests (it builds dist/ first) npm run build npm run sync:openapi # refresh openapi/v1.json and src/v1.d.ts from https://api.indexmachine.co/v1/openapi.json npm run check:pack # pack, install in an empty folder, run the stdio handshake npm run release:check # what a release needs, then the publishing commands
openapi/v1.json is the /v1 contract, and the API serves the same document at /v1/openapi.json. When the API ships a new release, npm run sync:openapi and npm test show which new operations need a tool or a line in EXCLUDED (src/tools/index.ts).
The remote server deploys to Vercel (vercel.json, api/) under the domain mcp.indexmachine.co. OAuth turns on with MCP_OAUTH=1 and MCP_OAUTH_KEYS, the keys IndexMachine's API encrypts its access tokens with.
MIT