马里奥AI投资组合
双协议AI组合服务器 MCP服务器 用于结构化工具访问和 A2A代理 (“你见过马里奥吗?”)用于对话发现。两者都提供了关于我的经验、技能、项目和服务的相同数据。
为什么存在
传统的投资组合是静态的。这个让潜在客户使用他们自己的人工智能工具与我的投资组合进行交互——提出具体问题,获得结构化答案,并发现我能为他们做些什么。该媒介展示了所销售的技能。
建筑
mario-ai-portfolio/
├── src/
│ ├── mcp_server.py # FastMCP server — 7 tools (port 8000)
│ ├── a2a_server.py # A2A agent — (port 9000)
│ └── data/ # Shared content modules
│ ├── about.py
│ ├── skills.py
│ ├── services.py
│ ├── projects.py
│ ├── experience.py
│ └── contact.py
├── Dockerfile.mcp # MCP server container
├── Dockerfile.a2a # A2A agent container
└── pyproject.tomlMCP服务器
通过Streamable HTTP公开的7个工具:
| 工具 | 说明 |
|---|---|
get_about_me() | 专业简介、背景、时区、可用性 |
get_skills(category?) | 按类别划分的技术技能(人工智能、自动化、后端、前端) |
get_services() | 服务产品和定价方法 |
get_projects() | 投资组合项目汇总表 |
get_project_detail(name) | 深入了解特定项目 |
get_experience() | 专业时间表和教育 |
get_contact_info() | 联系方式以及如何招聘 |
连接到MCP服务器
将以下配置添加到您选择的MCP客户端:
克劳德代码 --在您的终端中运行:
claude mcp add mario-portfolio --transport http https://mcp.fintegra.solutions/mcp克劳德桌面版 --添加到 claude_desktop_config.json:
{
"mcpServers": {
"mario-portfolio": {
"url": "https://mcp.fintegra.solutions/mcp"
}
}
}光标/VS代码 --添加到 .cursor/mcp.json 或 .vscode/mcp.json:
{
"servers": {
"mario-portfolio": {
"url": "https://mcp.fintegra.solutions/mcp"
}
}
}然后,只需向你的人工智能助手询问有关马里奥的任何信息——技能、项目、服务、可用性。
A2A特工:“你见过马里奥吗?”
由Llama 3.1 8B通过HF推理API提供的会话代理到代理接口。支持通过以下方式发现代理 A2A协议.
- 代理卡:
https://agent.fintegra.solutions/.well-known/agent-card.json - 技能: 投资组合查询、服务查询、可用性检查
与A2A代理交互
发现代理 --取代理卡:
curl https://agent.fintegra.solutions/.well-known/agent-card.json发送消息 --通过JSON-RPC 2.0:
curl https://agent.fintegra.solutions/ \
-X POST \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": "1",
"method": "message/send",
"params": {
"message": {
"role": "user",
"parts": [{"kind": "text", "text": "What projects has Mario built?"}],
"messageId": "msg-001"
}
}
}'来自Python --使用a2a-sdk客户端:
from a2a.client import A2AClient
async with A2AClient(url="https://agent.fintegra.solutions/") as client:
card = await client.get_card()
print(card.name) # "Have You Met Mario? — AI Automation Engineer"
response = await client.send_message(
message={"role": "user", "parts": [{"kind": "text", "text": "What services do you offer?"}], "messageId": "msg-001"}
)
print(response)任何与A2A兼容的代理或编排器都可以通过代理卡端点自动发现此代理并与之交互。
技术栈
- MCP: FastMCP v2——Python,流式HTTP
- A2A: a2a-sdk --官方SDK,JSON-RPC 2.0
- LLM Llama 3.1 8B通过HF推理API进行指导
- 部署: Docker、EasyPanel、Hostinger虚拟专用服务器
- 域名:
fintegra.solutions(子域:mcp.*,agent.*)
在本地运行
# MCP server (port 8000)
uv run python -m src.mcp_server
# A2A agent (port 9000) — requires HF_TOKEN in .env
uv run python -m src.a2a_server部署
通过EasyPanel在Hostinger VPS上部署的两个Docker服务:
| 服务 | Dockerfile | 端口 | 域 |
|---|---|---|---|
| MCP服务器 | Dockerfile.mcp | 8000 | mcp.fintegra.solutions |
| A2A代理 | Dockerfile.a2a | 9000 | agent.fintegra.solutions |
通过Let's Encrypt实现HTTPS(由EasyPanel/Traefik管理)。
许可证
麻省理工学院
