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

AWS IoT Core

โดย nagarjunrรุ่น 0.1.0i★ –iรันบนเครื่อง
ชื่อใน registryio.github.nagarjunr/aws-iot-core

ติดตั้ง

ภาพรวม

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

MCP server for AWS IoT Core: device registry, shadows, jobs, rules, messaging.

สามเสาของ PopNx MCP

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

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

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

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: เครื่องมือนักพัฒนา
  • ต้องใส่ค่าเหล่านี้: AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN, AWS_REGION

ติดตั้ง

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

ก่อนติดตั้ง

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

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

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

  • PyPIติดตั้ง uv ของ Python (มีคำสั่ง uvx) ในเครื่อง

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

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

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "aws-iot-core": {
      "command": "uvx",
      "args": [
        "aws-iot-core-mcp-server"
      ],
      "env": {
        "AWS_ACCESS_KEY_ID": "ใส่ค่าของคุณ",
        "AWS_SECRET_ACCESS_KEY": "ใส่ค่าของคุณ",
        "AWS_SESSION_TOKEN": "ใส่ค่าของคุณ",
        "AWS_PROFILE": "ใส่ค่าของคุณ",
        "AWS_REGION": "ใส่ค่าของคุณ"
      }
    }
  }
}

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

claude mcp add aws-iot-core --env AWS_ACCESS_KEY_ID='ใส่ค่าของคุณ' --env AWS_SECRET_ACCESS_KEY='ใส่ค่าของคุณ' --env AWS_SESSION_TOKEN='ใส่ค่าของคุณ' --env AWS_PROFILE='ใส่ค่าของคุณ' --env AWS_REGION='ใส่ค่าของคุณ' -- uvx aws-iot-core-mcp-server

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

เปิดใน Cursor

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

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

{
  "mcpServers": {
    "aws-iot-core": {
      "command": "uvx",
      "args": [
        "aws-iot-core-mcp-server"
      ],
      "env": {
        "AWS_ACCESS_KEY_ID": "ใส่ค่าของคุณ",
        "AWS_SECRET_ACCESS_KEY": "ใส่ค่าของคุณ",
        "AWS_SESSION_TOKEN": "ใส่ค่าของคุณ",
        "AWS_PROFILE": "ใส่ค่าของคุณ",
        "AWS_REGION": "ใส่ค่าของคุณ"
      }
    }
  }
}

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

เปิดใน VS Code

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

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

{
  "servers": {
    "aws-iot-core": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "aws-iot-core-mcp-server"
      ],
      "env": {
        "AWS_ACCESS_KEY_ID": "ใส่ค่าของคุณ",
        "AWS_SECRET_ACCESS_KEY": "ใส่ค่าของคุณ",
        "AWS_SESSION_TOKEN": "ใส่ค่าของคุณ",
        "AWS_PROFILE": "ใส่ค่าของคุณ",
        "AWS_REGION": "ใส่ค่าของคุณ"
      }
    }
  }
}

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

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

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

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

  • AWS_ACCESS_KEY_ID env
    AWS access key ID
  • AWS_SECRET_ACCESS_KEY ความลับ env
    AWS secret access key
  • AWS_SESSION_TOKEN ความลับ env
    AWS session token, for temporary credentials
  • AWS_PROFILE env
    Named profile from ~/.aws/credentials, as an alternative to explicit keys
  • AWS_REGION จำเป็น env
    AWS region -- required, AWS IoT Core is regional

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

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

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

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

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

  • ✓ ผ่าน

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

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

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

    ยังมีคนดูแล

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

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

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

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

  • – ไม่เกี่ยว

    endpoint ตอบ

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

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

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

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

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

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

เทียบกับตัวอื่นในหมวด เครื่องมือนักพัฒนาi

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

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

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

AWS IoT Core ปลอดภัยไหม?

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

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

ต้องใส่ค่าเหล่านี้: AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN, AWS_REGION

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

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

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

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.0) เข้า registry 3 เดือนที่ผ่านมา

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

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

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

ในหมวดเดียวกันมี GitHub, Desktop Commander, Cloudflare MCP

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

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

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

GitHub

โดย github

server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้

บนเครื่องหรือคลาวด์★ 34,245MITอัปเดต 3 วันที่ผ่านมา
ติดตั้ง

Desktop Commander

โดย wonderwhy-er

MCP server for terminal commands, file operations, and process management

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

Cloudflare MCP

โดย cloudflare

Cloudflare MCP servers

รันบนคลาวด์★ 4,446Apache-2.0อัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

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

AWS IoT Core MCP Server

A Model Context Protocol (MCP) server for AWS IoT Core — device registry, device shadows, jobs (fleet management), the rules engine, and messaging.

Scoped deliberately to IoT Core itself: no Greengrass (separate edge-deployment API), no IoT SiteWise (already has an official awslabs MCP server), no Device Defender/Events/TwinMaker — each of those is its own AWS service with its own API and would be its own connector.

Built with FastMCP and boto3.

Tools

Things (device registry)
ToolDescription
list_things(thing_type_name, attribute_name, attribute_value, thing_group_name, max_results)List things, optionally filtered.
search_things(query_string, index_name, max_results)Fleet-indexing search, e.g. attributes.location:"lab-1". Requires indexing to be enabled.
get_thing(thing_name)Fetch a thing's attributes and type.
create_thing(thing_name, thing_type_name, attributes, billing_group_name, overwrite=False)Register a new thing.
update_thing(thing_name, attributes, thing_type_name, remove_thing_type, attributes_merge=True)Update a thing's attributes/type.
delete_thing(thing_name, confirm=False)Delete a thing. Irreversible.
Thing Types & Thing Groups
ToolDescription
list_thing_types(thing_type_name) / get_thing_type(thing_type_name)List/read thing types.
create_thing_type(thing_type_name, description, searchable_attributes)Create a thing type. Immutable once created (AWS limitation) — only deprecation is supported after.
deprecate_thing_type(thing_type_name, undo=False)Deprecate (or un-deprecate) a thing type.
list_thing_groups(parent_group, name_prefix_filter) / get_thing_group(thing_group_name)List/read thing groups.
create_thing_group(thing_group_name, parent_group_name, attributes, overwrite=False)Create a thing group.
delete_thing_group(thing_group_name, confirm=False)Delete a thing group. Irreversible.
modify_thing_group_membership(thing_name, thing_group_name, action)action="add" or "remove" a thing from a group.
list_things_in_thing_group(thing_group_name)List members of a group.
Device Shadows (data plane)
ToolDescription
get_thing_shadow(thing_name, shadow_name)Read a thing's shadow document (desired/reported/delta). Omit shadow_name for the classic (unnamed) shadow.
update_thing_shadow(thing_name, desired, reported, shadow_name)Merge-update desired and/or reported state.
delete_thing_shadow(thing_name, shadow_name, confirm=False)Delete a shadow document.
list_named_shadows_for_thing(thing_name)List named (non-classic) shadows for a thing.
Messaging
ToolDescription
publish_message(topic, payload, qos=0)Publish an MQTT message to the device fleet via the IoT Data Plane.
Jobs (fleet management)
ToolDescription
list_jobs(status, thing_group_name, max_results) / get_job(job_id)List/read jobs.
create_job(job_id, thing_arns, document, description, target_selection="SNAPSHOT")Create a fleet job (e.g. an OTA update or remote command).
cancel_job(job_id, confirm=False, comment, force=False)Cancel a job.
delete_job(job_id, confirm=False, force=False)Delete a job. Irreversible.
list_job_executions_for_job(job_id, status) / list_job_executions_for_thing(thing_name, status)Track per-device execution status.
Certificates & Policies (device auth)
ToolDescription
create_keys_and_certificate(set_as_active=True)Generate a new key pair + certificate. The private key is returned only once — capture it immediately.
get_certificate(certificate_id) / list_certificates(page_size)Read certificate metadata.
set_certificate_status(certificate_id, status)ACTIVE, INACTIVE, or REVOKED.
delete_certificate(certificate_id, confirm=False, force_delete=False)Delete a certificate. Irreversible.
create_policy(policy_name, policy_document, overwrite=False) / get_policy / list_policiesManage IAM-style IoT policies (JSON documents).
delete_policy(policy_name, confirm=False)Delete a policy. Irreversible.
modify_policy_attachment(policy_name, target, action)Attach/detach a policy to/from a certificate ARN.
modify_thing_principal(thing_name, principal, action)Attach/detach a certificate (principal) to/from a thing.
list_thing_principals(thing_name) / list_principal_things(principal)Look up thing↔certificate associations either direction.
Rules Engine
ToolDescription
list_topic_rules(topic) / get_topic_rule(rule_name)List/read SQL-based message routing rules.
put_topic_rule(rule_name, sql, actions, description, sql_version, overwrite=False)Create or replace a rule. actions is a list of raw AWS action objects (e.g. {"lambda": {"functionArn": "..."}}).
set_topic_rule_enabled(rule_name, enabled)Enable/disable a rule without deleting it.
delete_topic_rule(rule_name, confirm=False)Delete a rule. Irreversible.
Misc
ToolDescription
get_endpoint(endpoint_type)Look up this account's IoT Core data endpoint (default iot:Data-ATS).

Safety conventions

Same as the rest of this repo: create_*/put_* default to overwrite=False (best-effort — the AWS IoT API itself has no conditional-write header for most of these operations, so this is a describe-then-create check, not fully race-free like Ditto's If-None-Match). Every delete_*/cancel_* requires confirm=True.

Configuration

Standard AWS SDK credential resolution — no custom env vars for auth. Set whichever of these your setup uses:

Env varDescription
AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY / AWS_SESSION_TOKENExplicit credentials.
AWS_PROFILENamed profile from ~/.aws/credentials.
AWS_REGION / AWS_DEFAULT_REGIONRequired — AWS IoT Core is regional.
AWS_ENDPOINT_URLOverride the API endpoint (e.g. for LocalStack). boto3 reads this natively.

Or an IAM role, if running somewhere with one attached (EC2/ECS/Lambda). See boto3's credential docs.

Running locally

uv sync

export AWS_REGION=us-east-1

plus whichever credential env vars apply to you

uv run awsiotcoremcpserver.py

See mcp.json for ready-to-use client configs (stdio and Docker).

Testing

This repo's design principles call for testing against a real instance rather than mocks. AWS IoT Core has no official local emulator, and LocalStack's IoT support requires a paid plan (no free tier) — so this server is the one exception in this repo: tests run against moto, a mature, free, open-source AWS API emulator (not hand-rolled mocks — it implements real request/response behavior for the actual boto3 calls this server makes).

uv run pytest -v

License notes

No bundled deployment artifacts here (unlike the other servers) since there's no local broker/service to run — AWS IoT Core only exists as an AWS-hosted service.

ถาม PopNx