# MCP feet Master 🐰🐔
[](https://www.python.org/downloads/)
[](LICENSE)
[](https://badge.fury.io/py/mcp-feet-master)
一個專門計算動物腳數的 Model Context Protocol (MCP) 伺服器。解決經典的「兔子和雞」數學問題,讓 AI 模型能夠準確計算農場動物的總腳數。
## ✨ 功能特色
- 🧮 **精確計算**:計算兔子(4腳)和雞(2腳)的總腳數
- 🔄 **反推功能**:根據總腳數推算可能的動物組合
- 📚 **範例資源**:內建計算範例和使用說明
- 📝 **提示模板**:生成標準化的數學問題
- 🔧 **FastMCP**:基於 FastMCP 框架,易於整合
## 🚀 安裝
### 使用 pip 安裝
```bash
pip install mcp-feet-master
```
### 從源碼安裝
```bash
git clone https://github.com/yourusername/mcp-feet-master.git
cd mcp-feet-master
pip install -e .
```
## 📖 使用方法
### 作為 MCP 伺服器運行
```bash
mcp-feet-master
```
或者在 Python 中:
```python
from mcp_feet_master import create_server
server = create_server()
server.run()
```
### 與 Claude Desktop 整合
在 Claude Desktop 的配置文件中添加:
```json
{
"mcpServers": {
"mcp-feet-master": {
"command": "mcp-feet-master",
"args": []
}
}
}
```
## 🛠️ 可用工具
### 1. `get_foot_num(rabbits, chickens)`
計算兔子和雞的總腳數。
**參數:**
- `rabbits` (int): 兔子數量
- `chickens` (int): 雞的數量
**返回:**
```python
{
"total_feet": 22,
"rabbit_feet": 12,
"chicken_feet": 10,
"rabbits": 3,
"chickens": 5,
"calculation": "3 隻兔子 × 4 腳 + 5 隻雞 × 2 腳 = 22 隻腳",
"formula": "3 × 4 + 5 × 2 = 22"
}
```
### 2. `calculate_animals_from_feet(total_feet, animal_type)`
根據總腳數反推動物組合。
**參數:**
- `total_feet` (int): 總腳數
- `animal_type` (str): `"rabbits"`, `"chickens"`, 或 `"mixed"`
**範例:**
```python
# 混合動物組合
{
"total_feet": 20,
"possible_combinations": [
{"rabbits": 5, "chickens": 0, "verification": 20},
{"rabbits": 3, "chickens": 4, "verification": 20},
{"rabbits": 1, "chickens": 8, "verification": 20},
{"rabbits": 0, "chickens": 10, "verification": 20}
],
"count": 4
}
```
## 📚 可用資源
### `feet://examples`
獲取使用範例和計算說明。
## 📝 可用提示
### `animal_feet_problem`
生成標準化的動物腳數數學問題。
**參數:**
- `rabbits` (int): 兔子數量
- `chickens` (int): 雞的數量
- `include_explanation` (bool): 是否包含解釋(預設:true)
## 💡 使用範例
### 與 AI 模型對話範例
**用戶:** "農場裡有 3 隻兔子和 5 隻雞,總共有多少隻腳?"
**AI 模型使用 MCP:**
```
調用 get_foot_num(3, 5)
結果:22 隻腳 (3 × 4 + 5 × 2 = 12 + 10 = 22)
```
**用戶:** "如果總共有 20 隻腳,可能的動物組合有哪些?"
**AI 模型使用 MCP:**
```
調用 calculate_animals_from_feet(20, "mixed")
可能組合:
- 5 隻兔子 + 0 隻雞
- 3 隻兔子 + 4 隻雞
- 1 隻兔子 + 8 隻雞
- 0 隻兔子 + 10 隻雞
```
## 🧪 開發
### 安裝開發依賴
```bash
pip install -e ".[dev]"
```
### 運行測試
```bash
pytest tests/
```
### 程式碼格式化
```bash
black src/ tests/
isort src/ tests/
```
### 型別檢查
```bash
mypy src/
```
## 📈 版本歷史
- **0.1.0**: 初始版本
- 基本的兔子雞腳數計算功能
- 反推動物組合功能
- FastMCP 整合
## 🤝 貢獻
歡迎貢獻!請查看 [CONTRIBUTING.md](CONTRIBUTING.md) 了解詳細說明。
1. Fork 專案
2. 創建功能分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 開啟 Pull Request
## 📄 授權
本專案使用 MIT 授權。詳見 [LICENSE](LICENSE) 文件。
## 🔗 相關連結
- [Model Context Protocol 官方文檔](https://modelcontextprotocol.io/)
- [FastMCP 文檔](https://github.com/modelcontextprotocol/python-sdk)
- [專案首頁](https://github.com/yourusername/mcp-feet-master)
## 📞 支援
如果遇到問題或有建議,請:
- 開啟 [GitHub Issue](https://github.com/yourusername/mcp-feet-master/issues)
- 查看 [文檔](https://github.com/yourusername/mcp-feet-master/wiki)
---
**讓 AI 計算動物腳數變得簡單又準確!** 🎯
Raw data
{
"_id": null,
"home_page": null,
"name": "mcp-feet-master",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "mcp, model-context-protocol, feet, calculation, ai-tools",
"author": null,
"author_email": "ThomasYang <tom19860526@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/9d/5f/7d700ea2fbbe3b5a5172b3e15d7a68b63372cb1b4585efdcfc952c845f79/mcp_feet_master-0.1.4.tar.gz",
"platform": null,
"description": "# MCP feet Master \ud83d\udc30\ud83d\udc14\r\n\r\n[](https://www.python.org/downloads/)\r\n[](LICENSE)\r\n[](https://badge.fury.io/py/mcp-feet-master)\r\n\r\n\u4e00\u500b\u5c08\u9580\u8a08\u7b97\u52d5\u7269\u8173\u6578\u7684 Model Context Protocol (MCP) \u4f3a\u670d\u5668\u3002\u89e3\u6c7a\u7d93\u5178\u7684\u300c\u5154\u5b50\u548c\u96de\u300d\u6578\u5b78\u554f\u984c\uff0c\u8b93 AI \u6a21\u578b\u80fd\u5920\u6e96\u78ba\u8a08\u7b97\u8fb2\u5834\u52d5\u7269\u7684\u7e3d\u8173\u6578\u3002\r\n\r\n## \u2728 \u529f\u80fd\u7279\u8272\r\n\r\n- \ud83e\uddee **\u7cbe\u78ba\u8a08\u7b97**\uff1a\u8a08\u7b97\u5154\u5b50\uff084\u8173\uff09\u548c\u96de\uff082\u8173\uff09\u7684\u7e3d\u8173\u6578\r\n- \ud83d\udd04 **\u53cd\u63a8\u529f\u80fd**\uff1a\u6839\u64da\u7e3d\u8173\u6578\u63a8\u7b97\u53ef\u80fd\u7684\u52d5\u7269\u7d44\u5408\r\n- \ud83d\udcda **\u7bc4\u4f8b\u8cc7\u6e90**\uff1a\u5167\u5efa\u8a08\u7b97\u7bc4\u4f8b\u548c\u4f7f\u7528\u8aaa\u660e\r\n- \ud83d\udcdd **\u63d0\u793a\u6a21\u677f**\uff1a\u751f\u6210\u6a19\u6e96\u5316\u7684\u6578\u5b78\u554f\u984c\r\n- \ud83d\udd27 **FastMCP**\uff1a\u57fa\u65bc FastMCP \u6846\u67b6\uff0c\u6613\u65bc\u6574\u5408\r\n\r\n## \ud83d\ude80 \u5b89\u88dd\r\n\r\n### \u4f7f\u7528 pip \u5b89\u88dd\r\n\r\n```bash\r\npip install mcp-feet-master\r\n```\r\n\r\n### \u5f9e\u6e90\u78bc\u5b89\u88dd\r\n\r\n```bash\r\ngit clone https://github.com/yourusername/mcp-feet-master.git\r\ncd mcp-feet-master\r\npip install -e .\r\n```\r\n\r\n## \ud83d\udcd6 \u4f7f\u7528\u65b9\u6cd5\r\n\r\n### \u4f5c\u70ba MCP \u4f3a\u670d\u5668\u904b\u884c\r\n\r\n```bash\r\nmcp-feet-master\r\n```\r\n\r\n\u6216\u8005\u5728 Python \u4e2d\uff1a\r\n\r\n```python\r\nfrom mcp_feet_master import create_server\r\n\r\nserver = create_server()\r\nserver.run()\r\n```\r\n\r\n### \u8207 Claude Desktop \u6574\u5408\r\n\r\n\u5728 Claude Desktop \u7684\u914d\u7f6e\u6587\u4ef6\u4e2d\u6dfb\u52a0\uff1a\r\n\r\n```json\r\n{\r\n \"mcpServers\": {\r\n \"mcp-feet-master\": {\r\n \"command\": \"mcp-feet-master\",\r\n \"args\": []\r\n }\r\n }\r\n}\r\n```\r\n\r\n## \ud83d\udee0\ufe0f \u53ef\u7528\u5de5\u5177\r\n\r\n### 1. `get_foot_num(rabbits, chickens)`\r\n\r\n\u8a08\u7b97\u5154\u5b50\u548c\u96de\u7684\u7e3d\u8173\u6578\u3002\r\n\r\n**\u53c3\u6578\uff1a**\r\n- `rabbits` (int): \u5154\u5b50\u6578\u91cf\r\n- `chickens` (int): \u96de\u7684\u6578\u91cf\r\n\r\n**\u8fd4\u56de\uff1a**\r\n```python\r\n{\r\n \"total_feet\": 22,\r\n \"rabbit_feet\": 12,\r\n \"chicken_feet\": 10,\r\n \"rabbits\": 3,\r\n \"chickens\": 5,\r\n \"calculation\": \"3 \u96bb\u5154\u5b50 \u00d7 4 \u8173 + 5 \u96bb\u96de \u00d7 2 \u8173 = 22 \u96bb\u8173\",\r\n \"formula\": \"3 \u00d7 4 + 5 \u00d7 2 = 22\"\r\n}\r\n```\r\n\r\n### 2. `calculate_animals_from_feet(total_feet, animal_type)`\r\n\r\n\u6839\u64da\u7e3d\u8173\u6578\u53cd\u63a8\u52d5\u7269\u7d44\u5408\u3002\r\n\r\n**\u53c3\u6578\uff1a**\r\n- `total_feet` (int): \u7e3d\u8173\u6578\r\n- `animal_type` (str): `\"rabbits\"`, `\"chickens\"`, \u6216 `\"mixed\"`\r\n\r\n**\u7bc4\u4f8b\uff1a**\r\n```python\r\n# \u6df7\u5408\u52d5\u7269\u7d44\u5408\r\n{\r\n \"total_feet\": 20,\r\n \"possible_combinations\": [\r\n {\"rabbits\": 5, \"chickens\": 0, \"verification\": 20},\r\n {\"rabbits\": 3, \"chickens\": 4, \"verification\": 20},\r\n {\"rabbits\": 1, \"chickens\": 8, \"verification\": 20},\r\n {\"rabbits\": 0, \"chickens\": 10, \"verification\": 20}\r\n ],\r\n \"count\": 4\r\n}\r\n```\r\n\r\n## \ud83d\udcda \u53ef\u7528\u8cc7\u6e90\r\n\r\n### `feet://examples`\r\n\r\n\u7372\u53d6\u4f7f\u7528\u7bc4\u4f8b\u548c\u8a08\u7b97\u8aaa\u660e\u3002\r\n\r\n## \ud83d\udcdd \u53ef\u7528\u63d0\u793a\r\n\r\n### `animal_feet_problem`\r\n\r\n\u751f\u6210\u6a19\u6e96\u5316\u7684\u52d5\u7269\u8173\u6578\u6578\u5b78\u554f\u984c\u3002\r\n\r\n**\u53c3\u6578\uff1a**\r\n- `rabbits` (int): \u5154\u5b50\u6578\u91cf\r\n- `chickens` (int): \u96de\u7684\u6578\u91cf \r\n- `include_explanation` (bool): \u662f\u5426\u5305\u542b\u89e3\u91cb\uff08\u9810\u8a2d\uff1atrue\uff09\r\n\r\n## \ud83d\udca1 \u4f7f\u7528\u7bc4\u4f8b\r\n\r\n### \u8207 AI \u6a21\u578b\u5c0d\u8a71\u7bc4\u4f8b\r\n\r\n**\u7528\u6236\uff1a** \"\u8fb2\u5834\u88e1\u6709 3 \u96bb\u5154\u5b50\u548c 5 \u96bb\u96de\uff0c\u7e3d\u5171\u6709\u591a\u5c11\u96bb\u8173\uff1f\"\r\n\r\n**AI \u6a21\u578b\u4f7f\u7528 MCP\uff1a** \r\n```\r\n\u8abf\u7528 get_foot_num(3, 5)\r\n\u7d50\u679c\uff1a22 \u96bb\u8173 (3 \u00d7 4 + 5 \u00d7 2 = 12 + 10 = 22)\r\n```\r\n\r\n**\u7528\u6236\uff1a** \"\u5982\u679c\u7e3d\u5171\u6709 20 \u96bb\u8173\uff0c\u53ef\u80fd\u7684\u52d5\u7269\u7d44\u5408\u6709\u54ea\u4e9b\uff1f\"\r\n\r\n**AI \u6a21\u578b\u4f7f\u7528 MCP\uff1a**\r\n```\r\n\u8abf\u7528 calculate_animals_from_feet(20, \"mixed\")\r\n\u53ef\u80fd\u7d44\u5408\uff1a\r\n- 5 \u96bb\u5154\u5b50 + 0 \u96bb\u96de\r\n- 3 \u96bb\u5154\u5b50 + 4 \u96bb\u96de \r\n- 1 \u96bb\u5154\u5b50 + 8 \u96bb\u96de\r\n- 0 \u96bb\u5154\u5b50 + 10 \u96bb\u96de\r\n```\r\n\r\n## \ud83e\uddea \u958b\u767c\r\n\r\n### \u5b89\u88dd\u958b\u767c\u4f9d\u8cf4\r\n\r\n```bash\r\npip install -e \".[dev]\"\r\n```\r\n\r\n### \u904b\u884c\u6e2c\u8a66\r\n\r\n```bash\r\npytest tests/\r\n```\r\n\r\n### \u7a0b\u5f0f\u78bc\u683c\u5f0f\u5316\r\n\r\n```bash\r\nblack src/ tests/\r\nisort src/ tests/\r\n```\r\n\r\n### \u578b\u5225\u6aa2\u67e5\r\n\r\n```bash\r\nmypy src/\r\n```\r\n\r\n## \ud83d\udcc8 \u7248\u672c\u6b77\u53f2\r\n\r\n- **0.1.0**: \u521d\u59cb\u7248\u672c\r\n - \u57fa\u672c\u7684\u5154\u5b50\u96de\u8173\u6578\u8a08\u7b97\u529f\u80fd\r\n - \u53cd\u63a8\u52d5\u7269\u7d44\u5408\u529f\u80fd\r\n - FastMCP \u6574\u5408\r\n\r\n## \ud83e\udd1d \u8ca2\u737b\r\n\r\n\u6b61\u8fce\u8ca2\u737b\uff01\u8acb\u67e5\u770b [CONTRIBUTING.md](CONTRIBUTING.md) \u4e86\u89e3\u8a73\u7d30\u8aaa\u660e\u3002\r\n\r\n1. Fork \u5c08\u6848\r\n2. \u5275\u5efa\u529f\u80fd\u5206\u652f (`git checkout -b feature/AmazingFeature`)\r\n3. \u63d0\u4ea4\u66f4\u6539 (`git commit -m 'Add some AmazingFeature'`)\r\n4. \u63a8\u9001\u5230\u5206\u652f (`git push origin feature/AmazingFeature`)\r\n5. \u958b\u555f Pull Request\r\n\r\n## \ud83d\udcc4 \u6388\u6b0a\r\n\r\n\u672c\u5c08\u6848\u4f7f\u7528 MIT \u6388\u6b0a\u3002\u8a73\u898b [LICENSE](LICENSE) \u6587\u4ef6\u3002\r\n\r\n## \ud83d\udd17 \u76f8\u95dc\u9023\u7d50\r\n\r\n- [Model Context Protocol \u5b98\u65b9\u6587\u6a94](https://modelcontextprotocol.io/)\r\n- [FastMCP \u6587\u6a94](https://github.com/modelcontextprotocol/python-sdk)\r\n- [\u5c08\u6848\u9996\u9801](https://github.com/yourusername/mcp-feet-master)\r\n\r\n## \ud83d\udcde \u652f\u63f4\r\n\r\n\u5982\u679c\u9047\u5230\u554f\u984c\u6216\u6709\u5efa\u8b70\uff0c\u8acb\uff1a\r\n- \u958b\u555f [GitHub Issue](https://github.com/yourusername/mcp-feet-master/issues)\r\n- \u67e5\u770b [\u6587\u6a94](https://github.com/yourusername/mcp-feet-master/wiki)\r\n\r\n---\r\n\r\n**\u8b93 AI \u8a08\u7b97\u52d5\u7269\u8173\u6578\u8b8a\u5f97\u7c21\u55ae\u53c8\u6e96\u78ba\uff01** \ud83c\udfaf\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Model Context Protocol server for calculating animal feet counts (rabbits and chickens)",
"version": "0.1.4",
"project_urls": {
"Homepage": "https://github.com/yourusername/mcp-feet-master",
"Issues": "https://github.com/yourusername/mcp-feet-master/issues",
"Repository": "https://github.com/yourusername/mcp-feet-master"
},
"split_keywords": [
"mcp",
" model-context-protocol",
" feet",
" calculation",
" ai-tools"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "b52ce1779f63feb1bbef1a11cd02526297fb93e941ef45eee263ad5294f8a52c",
"md5": "6f3041d20aac958b9ea371c941ab96c0",
"sha256": "92acc6963414705f93abf5300a72b1dc9bf8ebf9920ab5ebb54bc85b4f7c6be0"
},
"downloads": -1,
"filename": "mcp_feet_master-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6f3041d20aac958b9ea371c941ab96c0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 7496,
"upload_time": "2025-08-04T06:00:50",
"upload_time_iso_8601": "2025-08-04T06:00:50.127636Z",
"url": "https://files.pythonhosted.org/packages/b5/2c/e1779f63feb1bbef1a11cd02526297fb93e941ef45eee263ad5294f8a52c/mcp_feet_master-0.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9d5f7d700ea2fbbe3b5a5172b3e15d7a68b63372cb1b4585efdcfc952c845f79",
"md5": "cdc54eaf0e4028fcdabfcd47c12deebd",
"sha256": "5b48674d4e0aace821d3f28cebc21a6811b7f0958e1845dd9a104eb8e1ca0dec"
},
"downloads": -1,
"filename": "mcp_feet_master-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "cdc54eaf0e4028fcdabfcd47c12deebd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 12498,
"upload_time": "2025-08-04T06:00:51",
"upload_time_iso_8601": "2025-08-04T06:00:51.431772Z",
"url": "https://files.pythonhosted.org/packages/9d/5f/7d700ea2fbbe3b5a5172b3e15d7a68b63372cb1b4585efdcfc952c845f79/mcp_feet_master-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-04 06:00:51",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "yourusername",
"github_project": "mcp-feet-master",
"github_not_found": true,
"lcname": "mcp-feet-master"
}