Token导航 LogoToken导航TokenDH.com
Internship Scout & Quality of Life MCP Server logo
数据服务未说明官方级别未说明来源级核验

Internship Scout & Quality of Life MCP Server

MCP Server

自动化搜索国际实习职位,并参考欧洲城市生活质量指标,帮助用户找到符合个人价值观的工作地点。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
Python数据分析API集成

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

c-r-lewis

提供方

c-r-lewis

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

项目报告:人工智能驱动的实习童子军和欧洲城市生活质量MCP服务器

1.执行摘要

该项目通过将实时工作可用性与官方生活质量(QoL)指标进行交叉引用,自动搜索国际实习机会。通过弥合就业机会和生活水平之间的差距,该系统允许用户在城市中找到符合其个人价值观的角色。

2.系统架构

该系统采用通过Docker管理的容器化架构,确保Model MCP服务器和n8n自动化引擎的环境一致。

  • MCP 服务器:使用构建的自定义Python应用程序 FastAPI (通过暴露 FastMCP)这是作为
  • n8n:协调逻辑流程、LLM提示和最终交付。
  • 外部API:

- 欧盟统计局:欧洲城市级指标官方统计数据(https://ec.europa.eu/eurostat/web/cities/database). - 美味API:一个人工智能优化的搜索引擎,用于抓取实时实习列表。 - 简单地图:为城市数据提供地理骨干(纬度/经度和人口)(https://simplemaps.com/data/world-cities).

3.MCP服务器逻辑和数据管理

alt text

3.1欧盟统计局数据管理员

EurostatDataManager 类负责城市数据的生命周期,从摄入到排名。

排名方法

该系统为每个城市计算加权归一化分数。两个关键逻辑层确保排名准确:

  1. 极性校正:为了确保高分总是代表“更好”的质量,该系统确定了“负面”指标(例如犯罪、污染或通勤时间长)。对于这些,归一化值被反转。
  1. 归一化:价值根据其单位类型(百分比、分钟或货币)进行缩放,以便在“平均租金”和“空气质量”等不同指标之间进行公平比较
  1. 回退逻辑:认识到较小城市的数据可能很稀疏,服务器实现了递归回退。如果所请求的城市没有可用的统计指标,则默认为基于人口的排名,以确保用户仍然收到有效的地理建议。

3.2 Tavilly API经理

TavilyManager 作为连接实时网络的桥梁。与标准搜索引擎不同,Tavily针对LLM上下文进行了优化,返回了干净、高相关性的内容。

4.工作流实施

n8n工作流程 遵循8个阶段的流程,将用户模糊的偏好转换为结构化的报告:

  1. 用户输入捕获:收集目标技术、感兴趣的国家和生活质量偏好。
  1. 架构对齐:通过以下方式检索有效的欧盟统计局标准 get_criteria_list().
  1. LLM映射:将自然语言(例如“我讨厌交通”)翻译成数据库友好的代码。
  1. 多城市排名:确定每个国家符合加权标准的前两个城市。
  1. 有针对性的网络抓取:通话 search_offers() 对于每个确定的城市。
  1. 信息抽取LLM将原始HTML/文本解析为结构化模式: Company, Position, Skills, Summary, Location,以及 URL.
  1. 数据整合:将前10个报价汇总为CSV和Discord就绪摘要。
  1. 最终交付:通过Discord webhook传播研究结果。

alt text

5.设置和安装

要启动并运行此项目,请执行以下步骤:

先决条件

  • Python 3.12
  • Docker&Docker编写部署。
  • 紫外线

5.1.克隆存储库

首先,将项目存储库克隆到本地计算机:

git clone git@github.com:c-r-lewis/n8n-international-internship-scout.git

5.2.环境配置

创建一个 .env 项目目录根目录中的文件。此文件将保存您的环境变量,包括API密钥。

TAVILY_API_KEY="your_tavily_api_key_here"
POSTGRES_PASSWORD="your_n8n_postgres_password_here"

备注:从获取Tavily API密钥 Tavily网站.

5.3.安装依赖项

使用 uv,安装项目依赖项:

uv sync

5.4.准备数据

该应用程序依赖于欧盟统计局数据和世界城市数据集。

  • 欧盟统计局数据:The eurostat_data_manager.py 脚本负责填充 eurostat_data/cities.db SQLite数据库。要摄取数据,您可以使用 mcp inspector 并致电 download_eurostat_data 功能。
  • 世界城市数据:确保 ressources/worldcities.csv 存在。此文件提供了城市的基本地理信息。

6.运行应用程序

您可以使用Docker Compose运行应用程序进行容器化设置,也可以直接使用 uvicorn 为了地方发展。

6.1.使用Docker Compose(推荐)

此方法确保所有服务在隔离的容器中运行。

docker compose up --build

然后,应用程序应可在以下位置访问 http://localhost:8000 (或在您的 docker-compose.yml).

6.2.地方(发展)

确保您已激活Python虚拟环境(如果使用)并安装了依赖项(uv sync).

uvicorn app:app --reload --host 0.0.0.0 --port 8000

--reload flag允许在代码更改时自动重新加载,这对开发很有用。该应用程序将在 http://localhost:8000.

6.3.设置n8n工作流的凭据

为了能够在n8n界面中运行n8n工作流,您必须设置Mistral云API机密和Discord Webhook机密。

7.示例结果

对于在 英国瑞士 定位 “计算机科学” 侧重于 犯罪率低,交通便利,该系统成功地确定了巴塞尔和南安普敦等城市的关键角色,提供了直接的 excel导出 以及自动化 不一致通知 以便立即审查。

8.挑战与解决方案

  • 多维数据解析:欧盟统计局的JSON-STAT格式很难扁平化。解决方案涉及开发自定义 _index_to_coords mapper以编程方式导航嵌套的维度大小和ID。
  • 有效载荷管理:Discord的2000个字符限制对最终摘要构成了风险。我在最终的Code节点中实现了“循环”选择逻辑,以确保摘要包含来自所有顶级城镇的代表性样本,而不超过字符上限。

目录标签

目录标签

Python数据分析API集成自动化搜索本地部署生活质量评估国际实习地理位置服务

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP