OSINT MCP服务器
企业级OSINT(开源情报)MCP服务器,用于以人为中心的情报收集,具有道德保障和法律合规性
  
概述
OSINT MCP服务器使大型语言模型能够查询多个开源情报数据源 结构化、可审计且符合法律规定的方式它提供了以人为中心的OSINT搜索功能,内置了道德护栏、信心评分和来源归因。
主要特点
- 🔍 以人为中心的搜索:按全名、别名和位置查询
- 🔗 多源聚合:10多个类别的OSINT来源
- 🎯 智能分辨率:模糊匹配、重复数据删除和置信度评分
- 🛡️ 道德护栏:内置合规控制和速率限制
- 📊 消息来源:完整的来源和引用链
- ⚖️ 遵守法律:具有管辖权意识的过滤和隐私保护
- 📝 审计日志:全面的查询和访问日志记录
建筑
┌─────────────────────────────────────────────────────────────┐
│ MCP Server (index.ts) │
│ Exposes Tools via Protocol │
└───────────────────────┬─────────────────────────────────────┘
│
┌───────────────┴───────────────┐
│ │
┌───────▼────────┐ ┌────────▼────────┐
│ OSINT Tools │ │ Connector │
│ (tools.ts) │ │ Registry │
└───────┬────────┘ └────────┬─────────┘
│ │
│ ┌────────────────────────────┘
│ │
┌───────▼──▼──────────────────────────────────────┐
│ Core Components │
│ • PersonResolver (deduplication, correlation) │
│ • EthicalGuardrails (compliance, validation) │
│ • AuditLogger (query tracking) │
└─────────────────────────────────────────────────┘
│
┌───────▼─────────────────────────────────────────┐
│ OSINT Connectors (Modular) │
│ • Search Engines (Google, DuckDuckGo) │
│ • Social Networks (LinkedIn, Twitter) │
│ • Username Search │
│ • Breach Indicators (HIBP) │
│ • Archives (Wayback Machine) │
│ • News Archives (Google News) │
│ • Geospatial (GeoNames) │
│ • Public Records (jurisdiction-specific) │
└─────────────────────────────────────────────────┘支持的OSINT源
1.搜索引擎
- 谷歌搜索 (通过自定义搜索API)
- 鸭鸭搜 (注重隐私)
2.社交和专业网络
- 领英 (仅限公开资料)
- X(推特) (公众账户通过API)
3.用户名和个人资料搜索
- 用户名枚举 (多平台检查)
4.违规指标
- 我被盗号了吗 (仅存在,无内容)
5.档案
- 时光机 (历史网页内容)
6.新闻与媒体
- Google新闻 (通过NewsAPI)
7.地理空间
- 地理名称 (位置丰富)
8.公共记录
- 法庭记录 (可公开访问)
- 商业登记 (特定管辖区)
- *注:需要特定司法管辖区的实施*
安装
先决条件
- Node.js 18+
- npm或纱线
设置
# Clone the repository
git clone https://github.com/CyberSenseLabs/mcp-server-osint.git
cd mcp-server-osint
# Install dependencies
npm install
# Build the project
npm run build
# Copy environment variables (optional)
cp .env.example .env
# Edit .env with your API keys配置
创建一个 .env 使用API密钥的文件(可选-许多连接器在没有密钥的情况下工作):
# Google Search API (optional)
GOOGLE_SEARCH_API_KEY=your_key_here
GOOGLE_SEARCH_ENGINE_ID=your_engine_id
# Twitter API (optional)
TWITTER_BEARER_TOKEN=your_token_here
# Have I Been Pwned (optional but recommended)
HIBP_API_KEY=your_key_here
# Google News (optional)
GOOGLE_NEWS_API_KEY=your_key_here用法
运行服务器
# Development mode (with watch)
npm run dev
# Production mode
npm startMCP客户端集成
服务器使用模型上下文协议通过stdio进行通信。配置您的MCP客户端(Claude Desktop等)以使用:
{
"mcpServers": {
"osint": {
"command": "node",
"args": ["/path/to/mcp-server-osint/dist/index.js"]
}
}
}可用工具
person_search
在多个OSINT来源中搜索一个人。
输入:
{
"full_name": "John Doe",
"aliases": ["J. Doe", "Johnny"],
"location": {
"city": "New York",
"state": "NY",
"country": "US"
},
"confidence_threshold": 0.5,
"max_results": 50
}输出:
{
"entities": [
{
"name": "John Doe",
"confidence": 0.85,
"locations": [{"city": "New York", "state": "NY", "country": "US"}],
"profiles": [
{
"platform": "linkedin",
"url": "https://linkedin.com/in/johndoe",
"display_name": "John Doe"
}
],
"sources": [
{
"name": "Google Search",
"type": "search_engine",
"confidence": 0.7,
"accessed_at": "2024-01-01T12:00:00Z"
}
],
"correlation_explanation": "Found 3 potential matches; Name variations detected; 5 social/professional profiles",
"facts": [
"Profile exists on linkedin: https://linkedin.com/in/johndoe",
"Associated with location: New York, NY, US"
],
"inferences": []
}
],
"search_metadata": {
"query_time": "2024-01-01T12:00:00Z",
"sources_queried": ["google_search", "linkedin", "twitter"],
"total_results": 1,
"processing_time_ms": 1250
}
}source_attribution
获取结果的完整出处和引用链。
confidence_scoring
解释实体之间的置信度评分和相关性逻辑。
个人决心和信心评分
服务器实现了复杂的人员解析逻辑:
匹配因素
- 名称相似性 (40%重量)
- 模糊名称匹配 - 基于令牌的比较 - 别名解析
- 位置相似性 (30%重量)
- 地理位置接近 - 城市/州/国家匹配
- 轮廓重叠 (20%重量)
- 社交平台重叠 - 用户名一致性
- 来源可信度 (10%重量)
- 源类型匹配 - 跨源验证
置信水平
- 0.8-1.0:高置信度-多个来源,强匹配
- 0.5-0.8:中等信心-需要验证
- 0.3-0.5:低置信度-潜在误报
- **\ {
// Implementation }
getMetadata(): ConnectorMetadata { // Return metadata } }
2. 注册于 `src/connectors/registry.ts`
1. 在中添加配置 `src/index.ts`
## 路线图
### 计划的功能
- \[\]组织搜索功能
- \[\]暗网元数据连接器(合法时)
- \[\]高级图像反向搜索
- \[\]新闻事件的GDELT集成
- \[\]学术档案搜索(谷歌学者、ResearchGate)
- \[\]增强公共记录(针对特定司法管辖区的实施)
- \[\]结果缓存和持久性
- \[\]新发现的Webhook通知
- \[\]实体关系的图形可视化
### 特定管辖权的实施
- \[\]澳大利亚:ASIC商业登记处,法庭记录
- \[\]美国:州商业登记处、法院记录
- \[\]英国:公司注册处,法庭记录
- \[\]欧盟:符合GDPR的公共记录
## 文档
该项目包括全面的文件:
- **[README.md](README.md)** -此文件:概述、安装和使用
- **[建筑.md](ARCHITECTURE.md)** -系统设计和技术架构
- **[道德.md](ETHICS.md)** -道德框架和合规准则
- **[实施\_ SUMMARY.md](IMPLEMENTATION_SUMMARY.md)** -实施状态和功能检查表
- **[QUICKSTART.md](QUICKSTART.md)** -起床和跑步快速入门指南
- **[CLAUDE.md](CLAUDE.md)** -使用此代码库的AI代理的综合指南
- **[代理商.md](AGENTS.md)** -CLAUDE.md镜像(内容相同,与代理兼容)
**对于AI代理**:如果你是一名正在处理此代码库的AI代理,请阅读 `CLAUDE.md` 或 `AGENTS.md` 首先是关于架构、模式、伦理考虑和开发工作流程的详细指导。
## 贡献
欢迎投稿!拜托:
1. 克隆该仓库
1. 创建要素分支
1. 添加新功能的测试
1. 确保所有测试通过
1. 提交拉取请求
### 代码规范
- TypeScript严格模式
- ESLint合规性
- 全面的错误处理
- 新连接器的道德合规性审查
- 阅读 `CLAUDE.md` 详细的开发指南
## 许可证
MIT许可证-请参阅 [许可证](LICENSE) 文件以获取详细信息。
## 免责声明
**此工具仅用于合法的OSINT研究和安全目的。**
- 结果仅来自公开来源
- 不保证准确性
- 用户有责任遵守当地法律
- Cyber Sense不对误用负责
## 支持
对于问题、疑问或贡献:
- GitHub问题:
- 电子邮件:\[联系方式\]
## 致谢
内置:
- [模型上下文协议](https://modelcontextprotocol.io/)
- [TypeScript](https://www.typescriptlang.org/)
- 各种OSINT数据源(见单个连接器元数据)
______________________________________________________________________
**网络感知** -企业OSINT解决方案