人道主义数据查询服务器

ReliefWeb MCP Server是一个为ReliefWeb人道主义信息服务提供自然语言访问的模型上下文协议服务器,支持快速查询灾害报告、工作机会、培训课程等关键人道主义数据。

  • by elijah-tynes
  • C#
  • 本地部署
  • 更新于
在 GitHub 查看 elijah-tynes/reliefweb-mcp-server

使用说明

ReliefWeb MCP服务器

模型上下文协议(MCP)服务器 救济网 人道主义信息服务。

救济网由联合国人道主义事务协调厅(人道协调厅)提供,向人道主义界提供来自4000多个来源的快速、可靠的更新,包括非政府组织、政府和研究中心。该MCP服务器旨在通过人工智能代理实现对关键人道主义数据的自然语言访问,如灾难报告、工作/志愿者机会、培训计划和资源更新,使用户能够快速查找、过滤和利用对正在进行的人道主义工作至关重要的最新信息。

可用工具

  • GetReports

    • 检索从ReliefWeb整理的更新和情况报告
    • 可选输入:
      • keywords (string[]):缩小报告搜索范围的关键字(默认值:全部)
      • numResults (int):要返回的报告数(默认值:20)
        您还可以设置环境变量 REPORTS_REQUEST_SIZE 要覆盖此
    • 返回:按最近度排序的ReliefWeb报告的字符串集合
  • GetDisasters

    • 检索与灾害相关的ReliefWeb信息
    • 可选输入:
      • keywords (string[]):缩小灾难搜索范围的关键字(默认值:全部)
      • numResults (int):要返回的灾难数(默认值:20)
        您还可以设置环境变量 DISASTERS_REQUEST_SIZE 要覆盖此
    • 返回值:按最近度排序的灾难字符串集合
  • GetJobs

    • 恢复人道主义工作和志愿者机会
    • 可选输入:
      • keywords (string[]):缩小职位搜索范围的关键字(默认:全部)
      • numResults (int):要返回的作业数(默认值:20)
        您还可以设置环境变量 JOBS_REQUEST_SIZE 要覆盖此
    • 返回:按新近度排序的作业字符串集合
  • GetTrainings

    • 检索有用和必要的人道主义技能的培训机会和课程
    • 可选输入:
      • keywords (string[]):缩小培训搜索范围的关键字(默认:全部)
      • numResults (int):要返回的培训次数(默认值:20)
        您还可以设置环境变量 TRAININGS_REQUEST_SIZE 要覆盖此
    • 返回值:按最近度排序的训练字符串集合
  • GetBlogs

    • 检索有关发展和改进ReliefWeb的想法的博客文章
    • 可选输入:
      • keywords (string[]):缩小博客搜索范围的关键字(默认:全部)
      • numResults (int):要返回的博客数量(默认值:20)
        您还可以设置环境变量 BLOGS_REQUEST_SIZE 要覆盖此
    • 返回:按新近度排序的博客字符串集合
  • GetResources

    • 检索救济网站和人道主义资源的静态信息
    • 可选输入:
      • keywords (string[]):缩小资源搜索范围的关键字(默认:全部)
      • numResults (int):要返回的资源数(默认值:20)
        您还可以设置环境变量 RESOURCES_REQUEST_SIZE 要覆盖此
    • 返回值:按最近度排序的资源字符串集合

先决条件

入门指南

使用Claude Desktop

将以下内容添加到您的 claude_desktop_config.json,可以通过导航到找到 Claude Desktop > Settings > Developer > Edit Config:

{
  "mcpServers": {
    "reliefweb": {
      "command": "npx",
      "args": [
        "-y",
        "@elijahtynes/reliefweb-mcp-server"
      ],
      "env": {
        "REPORTS_REQUEST_SIZE": "[Replace with number for reports query size (Optional)]",
        "DISASTERS_REQUEST_SIZE": "[Replace with number for disasters query size (Optional)]",
        "JOBS_REQUEST_SIZE": "[Replace with number for jobs query size (Optional)]",
        "TRAININGS_REQUEST_SIZE": "[Replace with number for trainings query size (Optional)]",
        "BLOGS_REQUEST_SIZE": "[Replace with number for blogs query size (Optional)]",
        "RESOURCES_REQUEST_SIZE": "[Replace with number for resources query size (Optional)]"
      }
    }
  }
}

使用游标

引导到 Cursor > Settings > Cursor Settings > MCP > Add a New MCP Server 并将以下内容添加到文件中:

{
  "mcpServers": {
    "reliefweb": {
      "command": "npx",
      "args": ["-y", "@elijahtynes/reliefweb-mcp-server"],
      "env": {
        "REPORTS_REQUEST_SIZE": "[Replace with number for reports query size (Optional)]",
        "DISASTERS_REQUEST_SIZE": "[Replace with number for disasters query size (Optional)]",
        "JOBS_REQUEST_SIZE": "[Replace with number for jobs query size (Optional)]",
        "TRAININGS_REQUEST_SIZE": "[Replace with number for trainings query size (Optional)]",
        "BLOGS_REQUEST_SIZE": "[Replace with number for blogs query size (Optional)]",
        "RESOURCES_REQUEST_SIZE": "[Replace with number for resources query size (Optional)]"
      }
    }
  }
}

使用VS代码

将以下内容添加到您的 User Settings (JSON) VS Code中的文件,可以在以下网址找到 Ctrl + Shift + P > Preferences: Open Settings (JSON):

注意:可以将内容添加到名为的文件中 .vscode/mcp.json 在您的工作区中,允许您与他人共享配置

{
  "mcp": {
    "servers": {
      "reliefweb": {
        "command": "npx",
        "args": [
          "-y",
          "@elijahtynes/reliefweb-mcp-server"
        ],
        "env": {
          "REPORTS_REQUEST_SIZE": "[Replace with number for reports query size (Optional)]",
          "DISASTERS_REQUEST_SIZE": "[Replace with number for disasters query size (Optional)]",
          "JOBS_REQUEST_SIZE": "[Replace with number for jobs query size (Optional)]",
          "TRAININGS_REQUEST_SIZE": "[Replace with number for trainings query size (Optional)]",
          "BLOGS_REQUEST_SIZE": "[Replace with number for blogs query size (Optional)]",
          "RESOURCES_REQUEST_SIZE": "[Replace with number for resources query size (Optional)]"
        }
      }
    }
  }
}

代码示例

模型上下文协议C#

using ModelContextProtocol.Client;

// Create STDIO transport using ReliefWeb MCP
var clientTransport = new StdioClientTransport(new StdioClientTransportOptions
{
    Name = "ReliefWebMCP",
    Command = "npx",
    Arguments = ["-y", "@elijahtynes/reliefweb-mcp-server"]
});

// Create client with transport
var mcpClient = await McpClientFactory.CreateAsync(clientTransport);

// Retrieve the list of tools available on the ReliefWebMCP server
var tools = await mcpClient.ListToolsAsync().ConfigureAwait(false);

foreach (var tool in tools)
{
    Console.WriteLine($"{tool.Name}");
}
GetDisasters
GetTrainings
GetBlogs
GetReports
GetJobs
GetResources

语义_内核MCP Python

from semantic_kernel import Kernel
from semantic_kernel.connectors.mcp import MCPStdioPlugin

# Create kernel
kernel = Kernel()

# Create ReliefWeb MCP plugin over STDIO
async with MCPStdioPlugin(
    name="ReliefWebMCP",
    command="npx",
    args=["-y", "@elijahtynes/reliefweb-mcp-server"]
) as reliefweb_plugin:
    
    # Add ReliefWeb MCP tools to kernel plugins
    kernel.add_plugin(reliefweb_plugin)

    # Retrieve MCP tools
    reliefweb_tools = kernel.plugins["ReliefWebMCP"]

    for tool in reliefweb_tools:
        print(tool.name)
GetBlogs
GetDisasters
GetJobs
GetReports
GetResources
GetTrainings