本项目是基于模型上下文协议(MCP)的位置服务服务器实现。它借助 TypeScript 构建 MCP 服务器,能通过坐标或 IP 地址进行位置查询,为开发者提供了便捷的位置服务解决方案。
本项目可让你轻松将地理位置服务集成到应用中,利用其功能进行位置相关操作。首先按照以下步骤完成安装与配置,即可开启使用。
执行以下命令进行安装:
npm install mylocation-mcp
.env 文件,并添加您的 IPInfo.io API 令牌:IPINFO_TOKEN=your_ipinfo_token_here
import { McpServer } from 'mylocation-mcp';
如果你想修改或贡献给该项目,可按以下步骤操作:
# 克隆仓库
git clone https://github.com/yhwancha/mylocation-mcp.git
cd mylocation-mcp
# 安装依赖
npm install
# 设置环境变量
cp .env.example .env
# 编辑.env并添加您的IPInfo.io API令牌
# 构建项目
npm run build
.
├── src/
│ └── index.ts # 主服务器实现文件,包含位置工具
├── build/ # 编译后的JavaScript文件
├── package.json # 项目依赖和脚本
├── tsconfig.json # TypeScript配置
├── .env.example # 环境变量模板
└── README.md # 文档
server.tool(
"get-location-by-coordinates",
"从提供的坐标获取地理位置信息",
{
latitude: z.string().describe("纬度坐标(-90到90之间)"),
longitude: z.string().describe("经度坐标(-180到180之间)")
},
async ({ latitude, longitude }) => {
// 实现细节...
}
);
server.tool(
"get-location-by-ip",
"从IP地址获取地理位置信息",
{
ipAddress: z.string().describe("要查询的IP地址")
},
async ({ ipAddress }) => {
// 实现细节...
}
);
server.tool(
"health",
"检查服务的健康状态",
{},
async () => {
// 实现细节...
}
);
要在您的项目中使用此 MCP 服务器,请添加以下配置:
{
"mcpServers": {
"location-service": {
"command": "npx",
"args": [
"-y",
"mylocation-mcp-server"
],
"env": {
"IPINFO_TOKEN":
}
}
}
}
所有工具返回的响应都遵循以下 JSON 结构:
{
"code": number,
"data": object | null,
"message": string
}
code:响应状态码(整数)data:数据对象或 nullmessage:响应消息(字符串)| 属性 | 详情 |
|---|---|
| 依赖项 | express:简单高效的 Web 服务器框架;cors:允许跨域请求的中间件;配置项:提供环境变量管理功能 |
MIT License