公司注册搜索服务

一个基于FastMCP和SSE传输的瑞典公司注册搜索服务,提供公司名称、行业和位置筛选搜索功能。

  • by Boltyx
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Boltyx/alla-bolag-python-mcp

使用说明

所有公司 Python MCP Server

Alla Bolag(瑞典公司注册处)的MCP服务器,具有增强的搜索功能。使用FastMCP和SSE传输构建,用于基于网络的托管。

特性

  • 列出行业:从Alla Bolag获取所有可用的行业(branscher)
  • 以名称搜索:按名称搜索公司
  • 筛选的搜索:按行业搜索公司,可选地点(县/兰)过滤器
  • 公司详细信息:获取特定公司的详细信息

建筑

  • 框架:FastMCP(Python)
  • 运输:通过HTTP的SSE(服务器发送事件)
  • 运行时:Python 3.10+
  • 抓取:美丽的Soup4+lxml

安装

选项1:Docker(推荐-无需本地安装)

依赖项安装在Docker容器内 -您不需要在主机上安装任何东西!

  1. 构建Docker镜像(在容器中安装依赖项):
docker-compose build
  1. 启动服务器:
docker-compose up -d
  1. 查看日志:
docker-compose logs -f

它是如何工作的:

  • 当你奔跑时 docker-compose buildDocker构建镜像
  • Dockerfile将所有Python依赖项安装在容器内
  • 您的源代码以卷的形式挂载(因此更改会立即反映出来)
  • 仅当依赖关系发生变化时才进行重建(更新 pyproject.toml)

选项2:本地开发(用于测试/开发)

如果你想在本地(Docker之外)运行代码,请使用虚拟环境:

  1. 创建虚拟环境:
python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. 安装依赖项:
pip install -e .

或者使用紫外线(更快):

uv pip install -e .
  1. 运行服务器:
python -m alla_bolag_mcp.server

或者使用启动脚本:

./start-server.sh

注: 对于生产/托管,请使用Docker。只有当你想在Docker之外进行开发/测试时,才需要本地安装。

Docker(推荐用于生产环境)

Docker设置使用 数据载体安装 因此,代码更改不需要重建映像。仅在依赖关系发生变化时进行重建。

  1. 塑造形象:
docker-compose build
  1. 启动服务器:
docker-compose up -d
  1. 查看日志:
docker-compose logs -f
  1. 停止服务器:
docker-compose down

配置

通过环境变量设置:

  • FASTMCP_HOST (默认值: 0.0.0.0)
  • FASTMCP_PORT (默认值: 8003)
  • FASTMCP_PATH (默认值: /sse)

MCP客户端配置

添加到您的MCP客户端配置中(例如。, ~/.cursor/mcp.json):

{
  "mcpServers": {
    "alla-bolag": {
      "url": "http://localhost:8003/sse"
    }
  }
}

对于远程访问:

{
  "mcpServers": {
    "alla-bolag": {
      "url": "http://YOUR_SERVER_IP:8003/sse"
    }
  }
}

可用工具

list-industries

从Alla Bolag获取所有可用的行业。

search-companies-by-name

按名称搜索公司。

参数:

  • name (必填):要搜索的公司名称

search-companies-filtered

使用可选的位置过滤器按行业搜索公司。

参数:

  • industry (必填):行业名称(必须与来源完全匹配 list-industries)
  • location (可选):县/州名称(例如,“斯德哥尔摩”、“约特兰”)

get-company-info

获取特定公司的详细信息。

参数:

  • link (必填):搜索结果中的公司页面路径

发展

无需重建的代码更新(Docker)

Docker设置将源代码作为卷挂载,因此代码更改会立即反映出来。仅在以下情况下重建:

  • 依赖关系更改(更新 pyproject.toml)
  • Dockerfile更改

要重建,请执行以下操作:

docker-compose build
docker-compose up -d

依赖关系如何工作

在Docker中:

  • 已安装依赖项 集装箱内 当你构建图像时
  • Dockerfile运行 uv pip install 它在容器的Python环境中安装包
  • 您不需要在主机上安装任何东西
  • 源代码作为卷装载,因此代码更改不需要重建

地方发展:

  • 使用虚拟环境避免污染您的系统Python
  • 安装依赖项 pip install -e . 或 uv pip install -e .
  • 只有当你想在Docker之外运行代码时,才需要这样做

测试

在本地测试服务器:

python -m alla_bolag_mcp.server

然后使用MCP客户端或curl进行测试:

curl http://localhost:8003/sse

备注

  • 如果Alla Bolag更改了他们的HTML结构,scraper可能需要更新
  • 速率限制:如果拨打多个电话,请考虑在请求之间增加延迟
  • 位置过滤器:确切的URL参数格式可能需要根据测试进行调整

许可证

麻省理工学院