Token导航 LogoToken导航

MCP Server · 数据服务

Iot Query MCP

一个基于Model Context Protocol (MCP)的服务器,用于安全、只读地自然语言查询Navixy IoT Query数据库,适用于数据分析。

stdio官方级别未说明来源级核验工具 11
自然语言处理数据分析PythonClaude

快速开始

作者 / 组织
AndyMelnik
提供方
AndyMelnik
运行时
Python

工具数量

11

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Iot Query MCP 属于数据服务类 MCP Server,公开资料标注 11 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

数据服务

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

python -m venv venv

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 11 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

IoT查询MCP服务器

一种模型上下文协议(MCP)服务器,用于对Navixy IoT Query数据库进行安全、只读的自然语言查询,并设计用于平滑的数据分析。

了解更多详情 Navixy物联网查询!

*灵感源自 西延SQL 文本转SQL研究。*

特性

  • 🔒 按设计只读 -只允许SELECT查询,在多个层强制执行
  • 🛡️ SQL防火墙 -使用sqlglot进行基于AST的查询分析,以实现全面的安全性
  • 🧠 NL→SQL -使用LLM进行自然语言到SQL的转换
  • 🔄 自动SQL修复 -自动重试并更正错误
  • 📊 结果解释 -查询结果的人类可读分析
  • 📝 MSchema格式 -用于精确生成SQL的结构化模式表示
  • ⚡ 连接池 -使用asyncpg实现高效的异步数据库访问
  • 🎯 护栏 -复杂性限制、模式分配、自动LIMIT注入

快速开始

安装

# Clone the repository
git clone https://github.com/your-org/iot-mcp.git
cd iot-mcp

# Create virtual environment
python -m venv venv
source venv/bin/activate  # or `venv\Scripts\activate` on Windows

# Install dependencies
pip install -e ".[dev]"

配置

  1. 复制示例配置:
cp config/config.example.yaml config/config.yaml
  1. 编辑 config/config.yaml 使用您的数据库凭据:
database:
  host: your-postgres-host.com
  port: 5432
  database: iot_db
  user: readonly_user
  password: ${PG_PASSWORD}  # Set via environment variable
  sslmode: require
  schemas_allowlist:
    - iot
    - analytics
  1. 设置环境变量:
export PG_PASSWORD="your-password"
export OPENAI_API_KEY="your-api-key"

运行服务器

# Start the MCP server (STDIO mode)
iot-query serve

# With custom config
iot-query serve --config /path/to/config.yaml

# Test connection
iot-query test-connection

# Validate config
iot-query validate-config

网络聊天界面(测试用户界面)

对于测试和开发,您可以运行基于web的聊天界面:

# Start the web UI
iot-query web

# With custom host/port
iot-query web --host 0.0.0.0 --port 8080

然后打开http://localhost:8080在您的浏览器中。

特征:

  • 🔗 在界面中直接输入PostgreSQL DSN和OpenAI API密钥
  • 💬 用于自然语言查询的聊天界面
  • 🔀 两种模式: 仅限SQL (生成SQL)或 全周期 (NL→SQL→执行→翻译)
  • 📊 带解释的实时结果
  • 🎨 现代深色主题UI
  • 📦 可嵌入小部件位于 /embed

Claude桌面集成

添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json).

看 claude_desktop_configure.example.json 对于模板:

{
  "mcpServers": {
    "iot-query": {
      "command": "/path/to/venv/bin/python",
      "args": ["-m", "iot_query.cli", "serve", "--config", "/path/to/config.yaml"],
      "env": {
        "PG_PASSWORD": "your-password",
        "OPENAI_API_KEY": "your-api-key"
      }
    }
  }
}

建筑

┌─────────────────────────────────────────────────────────────┐
│                     MCP Layer                                │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────┐ │
│  │   Tools     │  │  Resources  │  │   Typed Responses   │ │
│  └─────────────┘  └─────────────┘  └─────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
                              │
┌─────────────────────────────────────────────────────────────┐
│                   Guardrails Layer                           │
│  ┌─────────────────┐  ┌───────────────┐  ┌───────────────┐ │
│  │  SQL Firewall   │  │    Policy     │  │    Limits     │ │
│  │  (AST parsing)  │  │  Enforcement  │  │ (rows/joins)  │ │
│  └─────────────────┘  └───────────────┘  └───────────────┘ │
└─────────────────────────────────────────────────────────────┘
                              │
┌─────────────────────────────────────────────────────────────┐
│                     LLM Layer                                │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────┐ │
│  │  NL→SQL     │  │  SQL Fixer  │  │    Interpreter      │ │
│  │  Generator  │  │  (3 retries)│  │   (Summarization)   │ │
│  └─────────────┘  └─────────────┘  └─────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
                              │
┌─────────────────────────────────────────────────────────────┐
│                    Database Layer                            │
│  ┌─────────────────┐  ┌───────────────────────────────────┐ │
│  │ Connection Pool │  │      Schema Introspection         │ │
│  │    (asyncpg)    │  │  (tables/columns/FK/samples)      │ │
│  └─────────────────┘  └───────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘

MCP工具

系统工具

工具说明
db_connect连接到PostgreSQL数据库
db_disconnect关闭数据库连接
db_list_schemas列出可访问的架构
db_list_tables列出架构中的表
db_describe_table获取表详细信息(列、类型、约束)
db_list_relationships列出外键关系
sql_execute执行经过验证的SQL查询
sql_explain_error获取人类可读的错误解释

分析工具

工具说明
nl_to_sql将自然语言转换为SQL(不执行)
query端到端:NL→SQL→执行→翻译
interpreter解释原始查询结果

MCP资源

资源URI描述
postgresql://数据库概述和策略
postgresql://schema/{name}架构表和视图
postgresql://schema/{name}/graph实体关系图
postgresql://schema/{name}/table/{table}表说明
postgresql://schema/{name}/table/{table}/sample样本数据

安全特性

SQL防火墙

防火墙使用基于AST的分析(sqlglot)来验证查询:

  • ✅ 语句类型:只允许SELECT(包括WITH…SELECT)
  • ✅ 关键字屏蔽:插入、更新、删除、删除等。
  • ✅ 架构访问:基于允许列表的访问控制
  • ✅ 复杂性限制:最大联接数、CTE、子查询数
  • ✅ 自动限制:如果缺少LIMIT,则自动添加LIMIT
  • ✅ 多语句:阻止多个语句(防止SQL注入)

配置示例

guardrails:
  deny_keywords:
    - insert
    - update
    - delete
    - drop
    - pg_sleep  # Prevent timing attacks
    - dblink    # Prevent lateral movement
  
  max_joins: 6
  max_cte: 5
  max_subqueries: 3
  
  require_limit: true
  block_select_star: false
  block_system_catalogs: true

关键模式

  1. MSchema格式:LLM提示的结构化模式表示
  2. SQL修复循环:自动重试并更正错误(最多3次尝试)
  3. 架构上下文:丰富的上下文,包括列类型、示例和关系
  4. 结果解释:查询结果的人类可读分析
  5. 物联网领域上下文:内置远程信息处理数据结构知识

发展

运行测试

# Run all tests
pytest

# With coverage
pytest --cov=iot_query

# Run specific test file
pytest tests/test_firewall.py -v

对照防火墙检查SQL

iot-query check-sql "SELECT * FROM iot.devices LIMIT 10"

项目结构

iot-mcp/
├── src/iot_query/
│   ├── __init__.py
│   ├── cli.py              # CLI entry point
│   ├── config.py           # Configuration management
│   ├── models.py           # Pydantic data models
│   ├── db/
│   │   ├── connection.py   # Database connection pool
│   │   ├── executor.py     # Query execution
│   │   └── introspection.py # Schema introspection
│   ├── guardrails/
│   │   ├── firewall.py     # SQL firewall (AST-based)
│   │   └── policy.py       # Security policies
│   ├── llm/
│   │   ├── client.py       # LLM API clients
│   │   ├── nl2sql.py       # NL→SQL generator
│   │   ├── sql_fixer.py    # SQL error fixer
│   │   ├── interpreter.py  # Result interpreter
│   │   └── prompts.py      # Prompt templates
│   └── mcp/
│       └── server.py       # MCP server implementation
├── config/
│   ├── config.yaml         # Main configuration
│   └── config.example.yaml # Example configuration
├── tests/
│   ├── test_firewall.py
│   ├── test_models.py
│   └── test_config.py
├── pyproject.toml
├── requirements.txt
└── README.md

配置参考

看 config/config.example.yaml 查看完整配置选项。

关键配置部分

第节说明
mcp传输设置(stdio/sse)
databasePostgreSQL连接和限制
guardrailsSQL防火墙和复杂性限制
modelsNL的LLM配置→SQL
observability日志记录和指标
cache架构缓存设置

许可证

Apache许可证2.0-请参阅 许可证 了解详情。

参考文献

工具与能力

工具数量

11

资源数量

0

提示词数量

0

能力标签

自然语言处理Python本地部署SQL查询数据库安全数据分析IoT

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

用自然语言查库

不用手写 SQL,直接问数据,让模型组织查询语句。

数据巡检

定期拉指标、做对比,把异常项整理成一段说明。

打通业务数据

把数据库、数仓和接口接进同一个上下文,减少导出再上传。

选择建议

值得选的地方

  • 工具数量 11 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在数据服务场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Iot Query MCP

MCP World · 本页

11stdio有1 个2026-05-17
Memory 9d25f64e

MCP World

9未说明未标注1 个2026-05-17
Prisma MCP Server

MCP World

0stdio有3 个2026-05-17
Astr Bot

MCP World

0stdio有1 个2026-05-17
Getzep MCP

MCP World

9stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Iot Query MCP 怎么安装?

公开资料给出的安装命令是 python -m venv venv,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Iot Query MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Iot Query MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Iot Query MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Iot Query MCP 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP