内容
# 语义计算器 MCP
基于Python的MCP工具,用于对向量、文本和表情符号进行语义操作,并专门支持Emojikey V3系统。
## 功能
- 计算向量之间的语义相似度
- 将文本和表情符号转换为向量嵌入
- 计算相位角表示的螺旋分量
- 解析和分析Emojikey V3字符串
- 计算维度之间的语义场距离
## 需求
- **Python 3.10+** (MCP SDK要求)
- Apple Silicon Mac(M1/M2/M3)或Intel Mac
- Claude Desktop应用程序
## 安装
### 1. 安装依赖项
```bash
# 克隆仓库
git clone https://github.com/yourusername/mcp-server-semantic-calc.git
cd mcp-server-semantic-calc
# 使用uv安装依赖项(推荐)
uv sync
# 或在开发模式下安装
uv pip install -e .
```
### 2. 配置Claude Desktop
将此配置添加到Claude Desktop设置中(通常为 `~/Library/Application Support/Claude/claude_desktop_config.json`):
```json
{
"mcpServers": {
"语义计算器": {
"command": "arch",
"args": [
"-arm64",
"/Users/rob/.local/bin/uv",
"--directory",
"/Users/rob/repos/mcp-server-semantic-calc",
"run",
"-m",
"semantic_calculator",
"mcp"
]
}
}
}
```
**重要注意事项:**
- 将 `/Users/rob/` 替换为您的实际主目录路径
- `-arm64` 标志确保原生Apple Silicon执行
- 确保 `/Users/rob/.local/bin/uv` 存在(使用 `curl -LsSf https://astral.sh/uv/install.sh | sh` 安装)
### 3. 重启Claude Desktop
重启Claude Desktop以加载新的MCP服务器。
## 使用
### 直接Python使用
```python
from semantic_calculator.core import SemanticCalculator
# 初始化计算器
calc = SemanticCalculator()
# 计算两个表情符号之间的相似度
similarity = calc.semantic_calculator_cosine_similarity(
calc.semantic_calculator_emoji_to_vector("🧠"),
calc.semantic_calculator_emoji_to_vector("🎨")
)
print(f"相似度:{similarity}")
```
### MCP使用(在Claude中)
配置好Claude Desktop后,您可以使用它:
```javascript
// 将表情符号转换为向量
const brainVector = semantic_calc_emoji_to_vector({
emoji: "🧠"
});
const artVector = semantic_calc_emoji_to_vector({
emoji: "🎨"
});
// 计算相似度
const similarity = semantic_calc_cosine_similarity({
vector1: brainVector,
vector2: artVector
});
console.log(`相似度:${similarity}`);
```
注意:所有工具函数都已前缀为 `semantic_calc_`,以避免与其他工具发生命名冲突。
### 示例脚本
```bash
# 安装后,运行示例
python -m semantic_calculator.examples.vector_operations
python -m semantic_calculator.examples.calculate_emoji_similarity
python -m semantic_calculator.examples.analyze_emojikey
```
## 核心函数
- `semantic_calc_text_to_vector`: 将文本转换为向量嵌入
- `semantic_calc_emoji_to_vector`: 将表情符号转换为向量嵌入
- `semantic_calc_cosine_similarity`: 计算向量之间的余弦相似度
- `semantic_calc_euclidean_distance`: 计算向量之间的欧几里得距离
- `semantic_calc_manhattan_distance`: 计算向量之间的曼哈顿距离
- `semantic_calc_dimension_distance`: 计算维度之间的相似度
- `semantic_calc_calculate_helical_components`: 从幅度/相位计算螺旋分量
- `semantic_calc_parse_emojikey_string`: 解析emojikey字符串
## 依赖项
### 核心依赖项(必需)
这些依赖项通过 `pyproject.toml` 自动安装:
- **Python 3.10+** - MCP SDK要求
- **mcp>=0.9.0** - 模型上下文协议SDK
- **sentence-transformers>=2.2.0** - 用于语义向量嵌入
- **numpy>=1.20.0** - 用于向量操作
- **scikit-learn>=1.0.0** - 用于距离计算
- **torch>=1.10.0** - SentenceBERT要求
### 可视化依赖项(可选)
- **matplotlib>=3.4.0** - 用于基本可视化
- **plotly>=5.5.0** - 用于交互式3D可视化
- **umap-learn>=0.5.2** - 用于降维
- **seaborn>=0.11.2** - 用于增强可视化
### 开发依赖项
- **pytest>=7.0.0** - 用于测试(使用 `uv sync --dev` 安装)
**注意:** 如果任何核心依赖项未安装,语义计算器将拒绝启动。所有依赖项都通过 `pyproject.toml` 管理,并使用 `uv sync` 自动安装。
## 许可证
MIT