
nicogis/mcp-server-arcgis-pro-addin
Developer tools이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
ArcGIS Pro 부가 기능이있는 MCP 서버
개요
이 저장소는 . 목표는 MCP 도구로 ArcGIS Pro 기능을 노출하는 것입니다. GitHub Copilot ( Agent mode) 또는 어떤 MCP 클라이언트는 GIS 환경에서 상호 작용할 수 있습니다. - (C# with ArcGIS Pro SDK): ArcGIS Pro를 사용하여 처리하고 로컬 IPC 채널(Named Pipes)을 통해 GIS 작업을 노출합니다. - (.NET 8 콘솔 앱) : MCP 도구를 정의하고 Named Pipes를 통해 부가 기능을 통신하고 Visual Studio에서 MCP 서버로 구성됩니다. .mcp.json. Copilot (Agent Mode)를 사용하여 맵, 목록 레이어, 카운트 기능, 줌을 레이어에 쿼리 할 수 있으며 ArcGIS Pro에서 직접 사용할 수 있습니다. - Visual Studio 2022 (MCP Agent Mode 지원) - ArcGIS Pro SDK for .NET - ArcGIS Pro 설치 (same machine) - .NET 8 SDK ArcGIS Pro 출시를 시작합니다. 그것은 같은 작업을 처리: - pro.getActiveMapName - pro.listLayers - pro.countFeatures - pro.zoomToLayer MCP 서버는 공식 ModelContextProtocol NuGet 패키지를 사용합니다. 1. 명세.
개요(AI 번역)
이 저장소는 ** Model Context Protocol (MCP) 서버**를 ArcGIS Pro Add-In로 통합하는 방법을 설명합니다. 목표는 MCP 도구로 ArcGIS Pro 기능을 노출하는 것입니다. GitHub Copilot ( Agent mode) 또는 어떤 MCP 클라이언트는 GIS 환경에서 상호 작용할 수 있습니다.
개요
- ArcGIS Pro Add-In (C# with ArcGIS Pro SDK): in-process with ArcGIS Pro를 실행하고 로컬 IPC 채널(Named Pipes)을 통해 GIS 작업을 노출합니다.
- MCP Server (.NET 8 콘솔 앱): MCP 도구를 정의하고, Named Pipes를 통해 Add-In과 통신하며,
.mcp.json을 통해 Visual Studio에서 MCP 서버로 구성됩니다.
Copilot (Agent Mode)를 사용하여 맵, 목록 레이어, 카운트 기능, 줌을 레이어에 쿼리 할 수 있으며 ArcGIS Pro에서 직접 사용할 수 있습니다.
필수품
- Visual Studio 2022 17.14 이상 (MCP Agent Mode 지원)
- .NET용 ArcGIS Pro SDK
- ArcGIS Pro 설치 (소형 기계)
- 넷 8 SDK
솔루션 구조
ArcGIS Pro 부가 기능
Add-In은 ArcGIS Pro 출시에서 Named Pipe server를 시작합니다. 그것은 같이 가동을 취급합니다:
pro.getActiveMapName- [T2]]
- [T3]
- [T4]]
예제: `모듈.
이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요.
README
원문 README의 일부입니다. 원문 보기.
MCP Server with ArcGIS Pro Add-In (C# .NET 8)
This repository demonstrates how to integrate a Model Context Protocol (MCP) server with an ArcGIS Pro Add-In. The goal is to expose ArcGIS Pro functionality as MCP tools so that GitHub Copilot (in Agent mode) or any MCP client can interact with your GIS environment.
Overview
- ArcGIS Pro Add-In (C# with ArcGIS Pro SDK): runs in-process with ArcGIS Pro and exposes GIS operations through a local IPC channel (Named Pipes).
- MCP Server (.NET 8 console app): defines MCP tools, communicates with the Add-In via Named Pipes, and is configured as an MCP server in Visual Studio through
.mcp.json.
This can allow Copilot (Agent Mode) to query maps, list layers, count features, zoom to layers, and more — directly in ArcGIS Pro.
Prerequisites
- Visual Studio 2022 17.14 or later (for MCP Agent Mode support)
- ArcGIS Pro SDK for .NET
- ArcGIS Pro installed (same machine)
- .NET 8 SDK
Solution Structure
ArcGisProMcpSample/
+- ArcGisProBridgeAddIn/ # ArcGIS Pro Add-In project (in-process)
¦ +- Config.daml
¦ +- Module.cs
¦ +- ProBridgeService.cs # Named Pipe server + command handler
¦ +- IpcModels.cs # IPC request/response DTOs
+- ArcGisMcpServer/ # MCP server project (.NET 8)
¦ +- Program.cs
¦ +- Tools/ProTools.cs # MCP tool definitions (bridge client)
¦ +- Ipc/BridgeClient.cs # Named Pipe client
¦ +- Ipc/IpcModels.cs # Shared IPC DTOs
+- .mcp.json # MCP server manifest for VS Copilot
ArcGIS Pro Add-In
The Add-In starts a Named Pipe server on ArcGIS Pro launch. It handles operations like:
pro.getActiveMapNamepro.listLayerspro.countFeaturespro.zoomToLayer
Example: Module.cs (in sample is in a button)
protected override bool Initialize()
{
_service = new ProBridgeService("ArcGisProBridgePipe");
_service.Start();
return true; // initialization successful
}
protected override bool CanUnload()
{
_service?.Dispose();
return true;
}
Example: ProBridgeService handler
case "pro.countFeatures":
{
if (req.Args == null ||
!req.Args.TryGetValue("layer", out string? layerName) ||
string.IsNullOrWhiteSpace(layerName))
return new(false, "arg 'layer' required", null);
int count = await QueuedTask.Run(() =>
{
var fl = MapView.Active?.Map?.Layers
.OfType()
.FirstOrDefault(l => l.Name.Equals(layerName, StringComparison.OrdinalIgnoreCase));
if (fl == null) return 0;
using var fc = fl.GetFeatureClass();
return (int)fc.GetCount();
});
return new(true, null, new { count });
}
MCP Server (.NET 8)
The MCP server uses the official ModelContextProtocol NuGet package.
Program.cs
await Host.CreateDefaultBuilder(args)
설치
This server does not publish a one-line install command.
Open the repository installation guide MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →