article
README
🚀 MCP 服务器 TypeScript 启动项目
本项目是基于模型上下文协议(MCP)的位置服务服务器实现。它借助 TypeScript 构建 MCP 服务器,能通过坐标或 IP 地址进行位置查询,为开发者提供了便捷的位置服务解决方案。
🚀 快速开始
本项目可让你轻松将地理位置服务集成到应用中,利用其功能进行位置相关操作。首先按照以下步骤完成安装与配置,即可开启使用。
✨ 主要特性
- TypeScript 配置:提供类型安全的开发环境,助力高效开发。
- 完整的 MCP 服务器设置:搭建起功能完备的 MCP 服务器。
- 位置服务实现:
- 基于坐标的地理位置查找:可根据提供的坐标精准查找地理位置。
- 基于 IP 的位置查找(使用 IPInfo.io):通过 IP 地址获取位置信息。
- 健康检查端点:方便检查服务的健康状态。
- 类型安全的开发环境:减少开发过程中的错误。
- 外部 API 集成:实现与外部 API 的有效整合。
📦 安装指南
执行以下命令进行安装:
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 }) => {
// 实现细节...
}
);
通过 IP 获取位置
server.tool(
"get-location-by-ip",
"从IP地址获取地理位置信息",
{
ipAddress: z.string().describe("要查询的IP地址")
},
async ({ ipAddress }) => {
// 实现细节...
}
);
健康检查
server.tool(
"health",
"检查服务的健康状态",
{},
async () => {
// 实现细节...
}
);
MCP 服务器配置
要在您的项目中使用此 MCP 服务器,请添加以下配置:
{
"mcpServers": {
"location-service": {
"command": "npx",
"args": [
"-y",
"mylocation-mcp-server"
],
"env": {
"IPINFO_TOKEN": <IPINFO_TOKEN>
}
}
}
}
响应格式
所有工具返回的响应都遵循以下 JSON 结构:
{
"code": number,
"data": object | null,
"message": string
}
code:响应状态码(整数)data:数据对象或 nullmessage:响应消息(字符串)
依赖
| 属性 | 详情 | |------|------| | 依赖项 | express:简单高效的 Web 服务器框架;cors:允许跨域请求的中间件;配置项:提供环境变量管理功能 |
📄 许可证
MIT License
微信扫一扫