Mining Rights Daily Agent Console
Chinese mining-rights daily brief agent with three MCP-style tools, a visible workflow canvas and auditable raw tool output. The user enters an industry topic such as 给我生成一份关于 Pilbara 锂矿的今日简报; the agent plans the request, calls news/resource/price tools, and returns a structured Chinese Markdown brief.
This repository is project 02 from the mining interview MVP set. It is fully standalone and can be evaluated or zipped independently.
What It Does
- Implements three independent MCP-style servers/tools:
mining-news-mcp:search(query, days),fetch_article(url)mineral-pdf-mcp:extract_resources(pdf_url)lme-price-mcp:get_price(commodity, date),get_trend(commodity, days)- Parses commodity, region, topic and time window from Chinese, English or mixed prompts.
- Generates Chinese Markdown briefs with a fixed structure.
- Shows the agent workflow as a production-style canvas: User Input -> Planner -> three MCP tools -> Brief Synthesizer -> Markdown Output.
- Keeps Raw Tool Output folded by default for audit and debugging.
- Uses a live model when configured, with a Chinese template fallback when no key is present.
- Returns
limitedplus warnings for unsupported commodities or missing evidence instead of silently falling back to lithium.
Brief Structure
# 主题今日简报
## 一、执行摘要
## 二、新闻摘要
## 三、资源量 / 储量数据
## 四、价格走势
## 五、风险提示
## 六、引用来源
## 七、数据缺口
The brief body is Chinese and does not include [ok] or chat-style prefixes.
Quick Start
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
make brief
make console
Open http://localhost:8002.
Docker:
docker compose up --build
Model Configuration
The app reads model settings from environment variables only. Do not commit real keys.
export MODEL_API_KEY=your_key
export MODEL_BASE_URL=https://apihub.agnes-ai.com/v1
export MODEL_NAME=agnes-2.0-flash
When MODEL_API_KEY is present, the Brief Synthesizer uses the configured OpenAI-compatible chat endpoint. Without a key, the deterministic Chinese template keeps the demo runnable.
API Example
curl -s http://localhost:8002/brief \
-H 'content-type: application/json' \
-d '{"prompt":"给我生成一份关于 Indonesia nickel 的今日简报"}' | jq
Stable response fields include status, warnings, source_mode, elapsed_ms, data_quality, intent, markdown and workflow_trace.
QA And Packaging
make test
make qa
make package
make qa runs multi-topic brief cases including Pilbara lithium, Peru copper, Indonesia nickel, China rare earth, DRC cobalt, iron ore, zinc, gold, uranium and graphite. make package creates /Users/Zhuanz/Desktop/02-mining-rights-daily-agent-tool.zip.
MCP Client Config
mcp-config.json is included for Claude Desktop / Cursor-style MCP clients. Adjust absolute paths if the project is moved.
Boundaries
This is a complete interview MVP, not a production data room. Fixture sources are marked as fixture data, unsupported commodities remain limited, and real paid/login sources are not bypassed.












