Provides tools for managing Hadoop Distributed File System (HDFS), enabling file operations like listing, reading, writing, deleting files, creating directories, and retrieving file information on HDFS clusters.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@HDFS MCP Serverlist files in /user/hadoop/data"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
HDFS MCP 服务器
这是一个真正的Model Context Protocol (MCP) 服务器,用于管理Hadoop分布式文件系统。它实现了MCP标准,可以与支持MCP的客户端(如Claude Desktop)集成。
项目结构
src/
├── index.ts # 主入口文件
├── interface/
│ └── types.ts # 类型定义
├── connection/
│ └── HDFSConnection.ts # HDFS连接管理
├── server/
│ └── HDFSMCPServer.ts # MCP服务器实现
├── tools/
│ └── HDFSTools.ts # HDFS操作工具
└── utils/
└── HDFSUtils.ts # 工具函数Related MCP server: File Operations MCP Server
功能
列出HDFS目录中的文件
读取HDFS文件内容
写入内容到HDFS文件
删除HDFS文件或目录
创建HDFS目录
获取HDFS文件或目录信息
测试HDFS连接
安装
npm install构建
npm run build运行
npm start配置
服务器使用以下HDFS配置:
NameService:
haclusterdevNameNodes:
n1,n2RPC地址:
n1:
1.hadoopdev.com:8020n2:
2.hadoopdev.com:8020
HTTP地址:
n1:
1.hadoopdev.com:8090n2:
2.hadoopdev.com:8090
环境变量配置
可以通过环境变量自定义配置:
export HDFS_NAMESERVICES=haclusterdev
export HDFS_NAMENODES=n1,n2
export HDFS_RPC_N1=1.hadoopdev.com:8020
export HDFS_RPC_N2=2.hadoopdev.com:8020
export HDFS_HTTP_N1=1.hadoopdev.com:8090
export HDFS_HTTP_N2=2.hadoopdev.com:8090
export HDFS_USERNAME=hadoop
export HDFS_PASSWORD=your_passwordMCP 工具
服务器实现了以下MCP工具:
hdfs_list_files - 列出HDFS目录内容
hdfs_read_file - 读取HDFS文件内容
hdfs_write_file - 写入内容到HDFS文件
hdfs_delete_file - 删除HDFS文件或目录
hdfs_create_directory - 创建HDFS目录
hdfs_get_file_info - 获取HDFS文件信息
hdfs_test_connection - 测试HDFS连接
使用方法
作为MCP服务器运行
构建项目:
npm run build启动MCP服务器:
npm start在支持MCP的客户端中配置:
{ "mcpServers": { "hdfs": { "command": "node", "args": ["dist/index.js"] } } }
作为独立客户端使用
import { HDFSMCPServer } from './dist/server/HDFSMCPServer.js';
import { HDFSConfig } from './dist/interface/types.js';
const config: HDFSConfig = {
nameservices: 'haclusterdev',
namenodes: ['n1', 'n2'],
rpcAddresses: {
n1: '1.hadoopdev.com:8020',
n2: '2.hadoopdev.com:8020'
},
httpAddresses: {
n1: '1.hadoopdev.com:8090',
n2: '2.hadoopdev.com:8090'
},
sharedEditsDir: 'qjournal://1.hadoopdev.com:8485;2.hadoopdev.com:8485;3.hadoopdev.com:8485/haclusterdev',
failoverProvider: 'org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider'
};
const server = new HDFSMCPServer(config);
await server.initialize();特性
高可用性支持: 支持HDFS HA集群,自动故障转移
重试机制: 网络错误时自动重试
路径验证: 自动验证和规范化HDFS路径
详细日志: 完整的操作日志记录
错误处理: 友好的错误信息和处理
类型安全: 完整的TypeScript类型定义
开发
# 开发模式运行
npm run dev
# 运行测试
npm test许可证
MIT