所有公司 Python MCP Server
Alla Bolag(瑞典公司注册处)的MCP服务器,具有增强的搜索功能。使用FastMCP和SSE传输构建,用于基于网络的托管。
特性
- 列出行业:从Alla Bolag获取所有可用的行业(branscher)
- 以名称搜索:按名称搜索公司
- 筛选的搜索:按行业搜索公司,可选地点(县/兰)过滤器
- 公司详细信息:获取特定公司的详细信息
建筑
- 框架:FastMCP(Python)
- 运输:通过HTTP的SSE(服务器发送事件)
- 运行时:Python 3.10+
- 抓取:美丽的Soup4+lxml
安装
选项1:Docker(推荐-无需本地安装)
依赖项安装在Docker容器内 -您不需要在主机上安装任何东西!
- 构建Docker镜像(在容器中安装依赖项):
docker-compose build- 启动服务器:
docker-compose up -d- 查看日志:
docker-compose logs -f它是如何工作的:
- 当你奔跑时
docker-compose buildDocker构建镜像 - Dockerfile将所有Python依赖项安装在容器内
- 您的源代码以卷的形式挂载(因此更改会立即反映出来)
- 仅当依赖关系发生变化时才进行重建(更新
pyproject.toml)
选项2:本地开发(用于测试/开发)
如果你想在本地(Docker之外)运行代码,请使用虚拟环境:
- 创建虚拟环境:
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- 安装依赖项:
pip install -e .或者使用紫外线(更快):
uv pip install -e .- 运行服务器:
python -m alla_bolag_mcp.server或者使用启动脚本:
./start-server.sh注: 对于生产/托管,请使用Docker。只有当你想在Docker之外进行开发/测试时,才需要本地安装。
Docker(推荐用于生产环境)
Docker设置使用 数据载体安装 因此,代码更改不需要重建映像。仅在依赖关系发生变化时进行重建。
- 塑造形象:
docker-compose build- 启动服务器:
docker-compose up -d- 查看日志:
docker-compose logs -f- 停止服务器:
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参数格式可能需要根据测试进行调整
许可证
麻省理工学院
