返回 MCP 目录
public公开dns本地运行

mylocation-mcp

一个基于TypeScript的MCP服务器实现,提供地理位置查询服务

article

README

🚀 MCP 服务器 TypeScript 启动项目

本项目是基于模型上下文协议(MCP)的位置服务服务器实现。它借助 TypeScript 构建 MCP 服务器,能通过坐标或 IP 地址进行位置查询,为开发者提供了便捷的位置服务解决方案。

🚀 快速开始

本项目可让你轻松将地理位置服务集成到应用中,利用其功能进行位置相关操作。首先按照以下步骤完成安装与配置,即可开启使用。

✨ 主要特性

  • TypeScript 配置:提供类型安全的开发环境,助力高效开发。
  • 完整的 MCP 服务器设置:搭建起功能完备的 MCP 服务器。
  • 位置服务实现
    • 基于坐标的地理位置查找:可根据提供的坐标精准查找地理位置。
    • 基于 IP 的位置查找(使用 IPInfo.io):通过 IP 地址获取位置信息。
    • 健康检查端点:方便检查服务的健康状态。
  • 类型安全的开发环境:减少开发过程中的错误。
  • 外部 API 集成:实现与外部 API 的有效整合。

📦 安装指南

执行以下命令进行安装:

npm install mylocation-mcp

💻 使用示例

基础用法

  1. 创建一个 .env 文件,并添加您的 IPInfo.io API 令牌:
IPINFO_TOKEN=your_ipinfo_token_here
  1. 在代码中导入并使用:
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:数据对象或 null
  • message:响应消息(字符串)

依赖

| 属性 | 详情 | |------|------| | 依赖项 | express:简单高效的 Web 服务器框架;cors:允许跨域请求的中间件;配置项:提供环境变量管理功能 |

📄 许可证

MIT License
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端