🧠 Mindrian 反向突显发现 MCP 服务器
通过双相似性分析发现突破性的跨领域创新机遇
  
📋 目录
🎯 什么是反向显著性发现?
A. “Reverse Salient”可以翻译为“反向突出”或“逆向显著”。不过,具体翻译可能需要根据上下文来确定最准确的表述。在军事或战略语境中,它可能指的是敌方防线中的薄弱环节或突出部分,与常规的“突出部”(Salient)相反 这是一个突破性的创新机遇,其中:
- 高结构相似性(LSA)论文采用了相似的方法和技术
- 低语义相似度(BERT)论文探讨了不同的问题和领域
这个高的差异表明 一个领域的方法可以转移到另一个领域来解决问题 - 创新的强大源泉!
示例
Paper A: "Quantum annealing for supply chain optimization"
Paper B: "High-throughput drug combination screening"
LSA Similarity: 0.75 (HIGH - both use optimization, combinatorial methods)
BERT Similarity: 0.12 (LOW - different domains: logistics vs pharma)
Differential: 0.63 (HUGE!)
→ Innovation Opportunity: Apply quantum annealing to drug screening!✨ 特点
核心能力
- ✅ LSA(潜在语义分析)通过TF-IDF + SVD测量结构相似性
- ✅ BERT 嵌入(或:BERT 表示向量)通过上下文嵌入衡量语义相似度
- ✅ 差异分析自动识别高LSA(潜在语义分析)+低BERT(双向编码器表示)的配对
- ✅ 顺序思维每个决策点都进行透明推理
高级验证
- 🔍 看起来像是一个放大镜的符号,通常用于表示搜索或观察。在中文中,可以简单地翻译为“🔍(放大镜)”或者根据上下文意译为“🔍(查找/观察)”。由于这是一个符号,没有直接的中文对应词汇,所以翻译时通常会保留原符号或根据语境进行意译。 专利数据库检索Google专利,美国专利商标局(USPTO)
- 🚀 表情符号“🚀”在中文中通常被翻译为“火箭”或直接用其形象表达“嗖的一下”(表示快速移动或上升)。因此,这个表情可以理解为“🚀 火箭”或者用其形象描述为“嗖的一下”。 启动活动监控Crunchbase,TechCrunch
- 📚 书籍 引文网络分析Google Scholar,arXiv
数据来源
- 🌐 代表互联网或网络的符号 Tavily网页搜索多源学术论文集
- 📖 书籍或阅读的象征 Scopus API直接访问学术数据库
- 📄(文件、纸张的符号) CSV 导入加载现有论文集
🚀 安装
先决条件
- Python 3.11或更高版本
- API密钥:
- Tavily API (必填): 来这里 - Scopus API (可选): 到这里来
安装步骤
# 1. Clone or download the repository
git clone https://github.com/mindrian/reverse-saliant-mcp.git
cd reverse-saliant-mcp
# 2. Create virtual environment (recommended)
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# 3. Install dependencies
pip install -r requirements.txt
# 4. Download NLTK data
python -c "import nltk; nltk.download('stopwords')"
# 5. Configure environment variables
cp .env.example .env
# Edit .env and add your API keys环境设置
创建 .env 文件:
TAVILY_API_KEY=your_tavily_api_key_here
SCOPUS_API_KEY=your_scopus_api_key_here # Optional🎮 快速入门
选项1:独立运行
python server.py选项2:连接到Claude桌面版
编辑 claude_desktop_config.json:
{
"mcpServers": {
"mindrian": {
"command": "python",
"args": ["C:\\path\\to\\server.py"],
"env": {
"TAVILY_API_KEY": "your_key",
"SCOPUS_API_KEY": "your_key"
}
}
}
}重启Claude桌面程序,您将能够使用所有Mindrian工具!
📚 使用示例
示例1:自动化全流程
# In Claude Desktop, just ask:
"""
Use Mindrian to discover innovation opportunities between
quantum computing and drug discovery
"""
# Behind the scenes, this executes:
result = await execute_full_workflow(
structured_input={
"challenge": "Quantum computing × Drug discovery innovation",
"domains": [
{
"label": "Quantum Computing",
"concepts": ["superposition", "entanglement"],
"methods": ["quantum annealing", "VQE", "QAOA"]
},
{
"label": "Drug Discovery",
"concepts": ["molecular docking", "protein folding"],
"methods": ["high-throughput screening", "computational chemistry"]
}
]
},
search_queries=[
"quantum computing optimization",
"drug discovery screening methods",
"quantum annealing applications",
"combinatorial drug screening"
],
validate_top_n=3
)示例2:分步手动控制
# Step 1: Initialize
result = await initialize_discovery({
"challenge": "Find AI × Healthcare innovations",
"domains": [...]
})
session_id = result["session_id"]
# Step 2: Collect papers
await collect_papers_tavily(
session_id=session_id,
search_queries=["machine learning healthcare", "AI medical diagnosis"]
)
# Step 3: Clean papers
await clean_papers(session_id)
# Step 4: Compute LSA (structural similarity)
await compute_lsa_similarity(session_id)
# Step 5: Compute BERT (semantic similarity)
await compute_bert_similarity(session_id)
# Step 6: Find reverse salients
rs_result = await find_reverse_salients(session_id, top_n=20)
# Step 7: Validate top opportunity
await validate_reverse_salient(
session_id=session_id,
reverse_salient_id="RS-001",
check_patents=True,
check_startups=True,
check_citations=True
)
# Step 8: Develop innovation thesis
await develop_innovation_thesis(session_id, "RS-001")
# Step 9: Generate report
await generate_report(session_id, format="markdown")示例3:使用CSV数据
# Load papers from your own CSV file
await initialize_discovery({
"challenge": "Analyze my research corpus",
"domains": [...]
})
await load_papers_csv(
session_id="...",
csv_file_path="./data/my_papers.csv"
)
# Continue with normal workflow🔧 API参考
核心工具
| 工具 | 用途 | 必需参数 | |||
|---|---|---|---|---|---|
| (无对应中文) | (无对应中文) | (无对应中文) | initialize_discovery | structured_input | 开始新会话 |
collect_papers_tavily | session_id | 网络搜索 | search_queries , | ||
collect_papers_scopus | session_idScopus API search_terms , | ||||
load_papers_csv | session_id | 加载 CSV | csv_file_path , | ||
clean_papers | session_id | 清洁文本 | |||
compute_lsa_similarity | session_id | 结构相似性 | |||
compute_bert_similarity | session_id | 语义相似度 | |||
find_reverse_salients | session_id | 发现机遇 | |||
validate_reverse_salient | session_id | 高级验证 | reverse_salient_id , | ||
develop_innovation_thesis | session_id | 创建论文 | reverse_salient_id , | ||
generate_report | session_id | 完整报告 | |||
execute_full_workflow | structured_input | 自动化流水线 | search_queries , |
|
structured_input = {
"challenge": "Description of innovation challenge",
"domains": [
{
"label": "Domain Name",
"concepts": ["concept1", "concept2", "concept3"],
"methods": ["method1", "method2"],
"problems": ["problem1", "problem2"],
"terminology": ["term1", "term2"]
}
],
"constraints": ["constraint1", "constraint2"],
"metadata": {
"industry": "pharmaceutical",
"timeline": "2-3 years"
}
}输入格式
🧠 它的工作原理
┌─────────────────────────────────────────────────────────┐
│ PAPER COLLECTION │
│ Tavily Search → Scopus API → CSV Import → Cleaning │
└────────────────────┬────────────────────────────────────┘
│
┌───────────┴───────────┐
│ │
▼ ▼
┌────────────────┐ ┌────────────────┐
│ LSA ANALYSIS │ │ BERT ANALYSIS │
│ (Structural) │ │ (Semantic) │
├────────────────┤ ├────────────────┤
│ • TF-IDF │ │ • Tokenization │
│ • SVD Topics │ │ • Embeddings │
│ • Similarity │ │ • Cosine Sim │
└────────┬───────┘ └───────┬────────┘
│ │
└──────────┬───────────┘
▼
┌─────────────────────┐
│ DIFFERENTIAL │
│ |BERT - LSA| │
│ │
│ HIGH = Innovation! │
└──────────┬──────────┘
│
┌──────────┴───────────┐
│ │
▼ ▼
┌────────────────┐ ┌────────────────┐
│ VALIDATION │ │ INNOVATION │
│ • Patents │ │ THESIS │
│ • Startups │ │ • Mechanism │
│ • Citations │ │ • Feasibility │
└────────────────┘ └────────────────┘双相似性框架
顺序思维整合
{
"thought_number": 1,
"thought": "Analyzing 2 domains. Need to: (1) Analyze characteristics,
(2) Plan search strategy, (3) Determine data collection.",
"next_thought_needed": True,
"timestamp": "2025-01-15T10:30:00"
}每个阶段都包含透明的推理过程:
所有思考日志均被存储并包含在最终报告中。
📊 理解结果
{
"id": "RS-001",
"rank": 1,
"lsa_similarity": 0.72,
"bert_similarity": 0.15,
"differential_score": 0.57,
"breakthrough_potential": 9,
"interpretation": "High LSA, Low BERT (INNOVATION!)"
}反向冲锋的例子
- 解释: LSA 0.72
- 论文采用了72%相似的方法 BERT 0.15
- 论文相似度仅为15% 差值0.57
- = 巨大差距 = 强烈的创新信号 潜力9/10
极具潜力的机会
{
"checks_performed": [
{
"check": "patents",
"patents_found": 2,
"novelty_score": 8,
"status": "Clear"
},
{
"check": "startups",
"companies_found": 1,
"market_maturity": "Early",
"competition_level": "Low"
},
{
"check": "citations",
"recent_papers_found": 5,
"research_activity": "Low",
"novelty_indicator": "High novelty"
}
],
"overall_novelty_score": 9,
"recommendation": "HIGH PRIORITY - Novel opportunity"
}验证结果
🐛 故障排除
常见问题
- “TAVILY_API_KEY 未设置”
.env解决方案:创建
包含您的API密钥的文件
- “不收集纸质文件”
- 请检查您的API密钥是否有效
- 尝试使用更广泛的搜索查询
验证网络连接
- “BERT 计算非常慢”
- 对于50多篇论文来说,这是正常的
bert-base-uncased使用bert-large-uncased - 而不是
如果可用,考虑在GPU上运行
- “LSA矩阵全为零”
- 论文可能太短了
max_features尝试不同的 - 参数
检查清理过的文件不是空的
- 性能优化技巧50篇论文
- 总共约5分钟100篇论文
- 总共约10分钟500篇论文
- 总共约60分钟
- 使用CSV导入进行重复运行
如果重新运行,请缓存LSA/BERT矩阵
🤝 贡献
- 欢迎投稿!请:
- 为仓库创建分支(或:克隆仓库)
- 创建一个特性分支
- 做出你的更改
- 如适用,请添加测试
提交拉取请求
📄 许可证 MIT 许可证 - 详见 许可证
详情如下
- 🙏 致谢
- 基于LSA/BERT双相似性分析的原创研究方法
- Anthropic的FastMCP框架
- Tavily搜索API
爱思唯尔Scopus API
📧 联系方式
- 对于问题、议题或合作事宜:
- github.com/mindrian/reverse-salient-mcp/issues(注:这里的“reverse-saliant-mcp”可能是一个特定项目或库的名称,由于“salient”在中文中通常翻译为“显著的”,但在此上下文中可能是一个技术术语或特定项目名的一部分,因此直接保留原英文形式。同时,“issues”在中文中常翻译为“问题”或“议题”,但在此技术语境下,通常指的是“GitHub”上的“问题”或“讨论”,即用户报告的问题、功能请求等,所以这里也保留“issues”这一英文形式以保持原意。)
______________________________________________________________________
电子邮箱:contact@mindrian.com
*由Mindrian Labs倾心打造*
