Skip to main content
Glama

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: haclusterdev

  • NameNodes: n1, n2

  • RPC地址:

    • n1: 1.hadoopdev.com:8020

    • n2: 2.hadoopdev.com:8020

  • HTTP地址:

    • n1: 1.hadoopdev.com:8090

    • n2: 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_password

MCP 工具

服务器实现了以下MCP工具:

  1. hdfs_list_files - 列出HDFS目录内容

  2. hdfs_read_file - 读取HDFS文件内容

  3. hdfs_write_file - 写入内容到HDFS文件

  4. hdfs_delete_file - 删除HDFS文件或目录

  5. hdfs_create_directory - 创建HDFS目录

  6. hdfs_get_file_info - 获取HDFS文件信息

  7. hdfs_test_connection - 测试HDFS连接

使用方法

作为MCP服务器运行

  1. 构建项目:

    npm run build
  2. 启动MCP服务器:

    npm start
  3. 在支持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

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/alittleyellowkevin/HDFS-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server