一个干净的、可用于生产的URL缩短器,具有分析和原生MCP工具——基于FastAPI+FastMCP和Next.js构建,从单个后端端口提供服务。
特性
- 使用可选自定义别名快速缩短URL
- 使用每次点击事件数据(IP、用户代理、引用者)重定向跟踪
- 用于代理本机访问的MCP工具——缩短、查找、列表和分析
- 单一服务表面:同一端口上的REST API+MCP
- Next.js前端,带有分析图表
文档
| 文档 | 描述 |
|---|---|
| docs/backend.md | FastAPI服务——路由、架构、数据库模式、部署 |
| docs/mcp.md | MCP端点——工具、传输、客户端设置(Claude Desktop、Cursor等) |
| docs/frontend.md | Next.js前端-页面,API客户端,环境变量 |
快速开始
后端
cd backend
$env:DATABASE_URL = "postgresql+psycopg://postgres:postgres@localhost:5432/smolurls"
$env:BASE_URL = "http://127.0.0.1:8000/api/v1"
uv sync
uv run uvicorn main:app --reload前端
cd frontend
pnpm install
pnpm dev项目结构
smolurls/
├── backend/ # FastAPI + FastMCP service
├── frontend/ # Next.js application
└── docs/ # Documentation
├── backend.md
├── mcp.md
└── frontend.md