Token导航 LogoToken导航TokenDH.com
Test Postgis MCP Copilot logo
开发工具未说明官方级别未说明来源级核验

Test Postgis MCP Copilot

MCP Server

一个集成了PostGIS、GitHub Copilot和MCP的测试环境,用于空间数据库开发和测试。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
ShellClaudeGitHub CopilotClaude DesktopClaudeCursorVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

aaryno

提供方

aaryno

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

PostGIS MCP + GitHub Copilot 测试环境

目的: 使用MCP(模型上下文协议)和PostGIS测试GitHub Copilot

______________________________________________________________________

🎯 环境设置

这个测试仓库提供:

  • PostGIS 15-3.3 (与课程作业相同)
  • GitHub Copilot 已启用(聊天模式、代理模式、编辑模式)
  • MCP(最小成本路径/最小代价路径) 已安装Python库
  • PostgreSQL 客户端工具 (psql)
  • ✅(这个符号本身在中文中没有直接对应的翻译,它通常表示“正确”、“确认”或“完成”的意思,根据上下文可以翻译为“正确”、“确认”或“完成”等。) Python 3.11 带有空间库

______________________________________________________________________

🚀 快速入门

在 Codespaces 中打开

  1. 点击“代码”→“代码空间”→“在主分支上创建代码空间”
  2. 等待环境设置完成(约2-3分钟):

- 使用所有工具的容器构建 - Docker-in-Docker 功能初始化 - PostGIS 容器自动启动 - 数据库扩展被创建

  1. 查找“✅ 设置完成!”消息
  2. 你准备好了!

连接到PostGIS

# Interactive SQL console (alias configured)
psql-local mcp_test

# Or use full command
PGPASSWORD=postgres psql -h localhost -U postgres -d mcp_test

# Check PostGIS version
psql-local -d mcp_test -c "SELECT PostGIS_version();"

# Check Docker container status
dc ps

______________________________________________________________________

使用MCP测试GitHub Copilot

⚠️ 重要提示: GitHub Copilot 还不完全支持 MCP!请参阅 COPILOT_MCP_SETUP.md 翻译为中文是:“COPILOT_MCP设置指南/文件”(注:这里的“md”通常表示Markdown格式的文件,但具体翻译时可能根据上下文省略或保留,因为“md”本身在中文中没有直接对应的含义,但在这里可以理解为该文件是用于设置或说明的Markdown文档)。不过,为了简洁明了,通常可以直接翻译为“COPILOT_MCP设置指南”或“COPILOT_MCP配置说明”,具体取决于文件的实际用途和内容 对于;为了

  • 当前MCP的局限性及现状
  • 针对数据库感知辅助的功能性解决方案
  • 用于模式浏览的SQLTools安装
  • 如何手动提供上下文

当下行之有效的方法

1. GitHub Copilot Chat:(可译为)GitHub Copilot聊天功能

  • 询问关于PostGIS函数的问题
  • 请求空间SQL查询
  • 获取空间概念的解释

2. GitHub Copilot Agent(GitHub代码协作者代理):

  • 请求空间分析工作流程
  • 请求创建数据库模式
  • 生成完整的SQL脚本

3. SQLTools(已安装):

  • 可视化浏览数据库模式
  • 使用自动补全功能运行查询
  • 探索表和关系

4. MCP(未来)的手动上下文

  • 配置文件准备就绪 .vscode/settings.json 并且 mcp-config.json
  • 当Copilot添加MCP支持时,将能够工作
  • 可以使用Claude Desktop单独测试MCP

______________________________________________________________________

📊 数据库信息

连接详情:

  • 主持人: 本地主机
  • 端口: 五千四百三十二
  • 数据库: mcp_test 翻译为中文是“MCP测试”
  • 用户: PostgreSQL(简称Postgres,但通常称为PostgreSQL)
  • 密码: PostgreSQL(通常简称为Postgres)

已安装扩展:

  • PostGIS(空间和地理对象)
  • PostGIS 顶级(或拓扑)

Docker Compose:

  • PostGIS 在一个独立的容器中运行
  • 通过……进行管理 docker compose (别名: dc
  • 通过Docker卷实现持久数据存储

______________________________________________________________________

🧪 示例实验

测试1:简单空间查询

-- Create a test table with geometry
CREATE TABLE test_points (
    id SERIAL PRIMARY KEY,
    name TEXT,
    location GEOMETRY(Point, 4326)
);

-- Insert test data
INSERT INTO test_points (name, location) VALUES
    ('Point A', ST_SetSRID(ST_MakePoint(-110.9, 32.2), 4326)),
    ('Point B', ST_SetSRID(ST_MakePoint(-111.0, 32.3), 4326));

-- Query distance
SELECT 
    name,
    ST_AsText(location) as coordinates,
    ST_Distance(location::geography, 
                ST_SetSRID(ST_MakePoint(-110.95, 32.25), 4326)::geography) as distance_meters
FROM test_points;

测试2:询问Copilot

试试问问 GitHub Copilot:

  • “如何在PostGIS中围绕一个点创建缓冲区?”
  • “编写一个查询,以查找距离某个地点1公里范围内的所有点”
  • “解释ST_Distance和ST_DWithin之间的区别”

测试3:使用PostGIS的Python

# Example: Using Python with PostGIS
import psycopg2

# Connect to PostGIS
conn = psycopg2.connect(
    host="localhost",
    database="mcp_test",
    user="postgres",
    password="postgres"
)

# Create a cursor and run spatial query
cur = conn.cursor()
cur.execute("SELECT PostGIS_Version();")
print(f"PostGIS Version: {cur.fetchone()[0]}")

# Test MCP server integration (when Copilot supports it)
# See COPILOT_MCP_SETUP.md for configuration

______________________________________________________________________

🔧 已安装工具

VS Code 扩展:

  • GitHub Copilot
  • GitHub Copilot Chat(GitHub 代码补全聊天助手)
  • python
  • PostgreSQL 客户端(ckolkman.vscode-postgres)
  • SQL工具
  • SQLTools PostgreSQL 驱动程序

Python 包:

  • psycopg2-binary(PostgreSQL适配器)
  • SQLAlchemy(对象关系映射,ORM)
  • GeoAlchemy2(空间对象关系映射)
  • MCP(模型上下文协议)

PostgreSQL 工具:

  • psql(交互式终端)
  • pg_dump(数据库备份)
  • pg_restore(数据库恢复)

______________________________________________________________________

📝 笔记

有待探索的事物

  • \[ \] GitHub Copilot对PostGIS函数的理解
  • \[ \] 空间SQL生成的质量
  • \[ \] 在PostGIS环境下设置MCP服务器
  • \[ \] 用于复杂空间工作流的代理模式
  • \[ \] Copilot解释空间概念的能力
  • \[ \] 地理空间查询建议的性能

预期行为

GitHub Copilot 应该能够:

  • 建议使用PostGIS函数
  • 完整的空间SQL查询
  • 解释坐标系和投影
  • 生成几何体创建代码
  • 提供距离和面积计算

测试MCP用于:

  • 情境感知空间查询
  • 数据库模式发现
  • 空间数据模式
  • 查询优化建议

______________________________________________________________________

🎓 课程背景

这个环境反映了GIST 604B课程中模块4(PostGIS)的作业内容:

  • 相同的PostGIS版本(15-3.3)
  • 相同的容器配置
  • 相同的客户端工具
  • 附加:用于实验的GitHub Copilot和MCP

______________________________________________________________________

🐛 故障排除

Docker 权限被拒绝?

错误: permission denied while trying to connect to the Docker daemon socket

快速修复:

  1. 等待容器构建完成(查找“✅ 设置完成!”!")
  2. 如果构建已完成但Docker仍然无法工作:

- 新闻界;媒体 Cmd+Shift+P 或者 Ctrl+Shift+P - 输入“开发容器:重建容器” - 等待重建(约2-3分钟)

  1. 如果那行不通, 删除代码空间 并创建一个新的

故障排除指南.md 以获取详细解决方案。

PostgreSQL 未运行?

# Check container status
dc ps

# Start PostGIS container
dc up -d

# View logs
dc logs postgis

# Restart container
dc restart postgis

无法连接到数据库?

# Check if PostGIS container is running
dc ps

# Check if PostgreSQL is ready
pg_isready -h localhost -p 5432 -U postgres

# Restart PostGIS
dc restart postgis

# Recreate everything
dc down -v
dc up -d
bash .devcontainer/setup.sh

GitHub Copilot 无法正常工作?

  1. 在 VS Code 中检查你是否已登录 GitHub
  2. 验证Copilot订阅是否处于激活状态
  3. 重新加载 VS Code 窗口

______________________________________________________________________

🚀 享受实验的乐趣吧!

这是您用于测试GitHub Copilot与空间数据库结合使用的沙盒。尝试不同的提示,探索MCP(可能是指某种工具或插件,具体需根据上下文确定)的集成,发现最适合PostGIS开发的方案!

空间编码愉快! 🗺️✨

目录标签

目录标签

ShellClaudeGitHub Copilot本地部署空间数据库PostGISGitHubCopilotMCP测试环境

支持客户端

Claude DesktopClaudeCursorVS Code

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP