Model Context Protocol (MCP) servers for ACCESS-CI APIs, enabling AI assistants to interact with cyberinfrastructure resources.
This repository contains MCP servers that provide programmatic access to:
- Announcements - Community news, training opportunities, and ACCESS support announcements
- Compute Resources - Hardware specifications and resource information
- System Status - Outages, maintenance, and announcements
- Software Discovery - Available software packages across resources
- Events - Workshops, webinars, training events, and office hours
- XDMoD Metrics - Usage analytics, computational resource utilization, and NSF funding integration
- Allocations - Active research projects and resource allocation discovery
- Affinity Groups - Community groups, events, and knowledge base
Install individual MCP servers:
# Install specific servers
npm install -g @access-mcp/announcements
npm install -g @access-mcp/events
npm install -g @access-mcp/compute-resources
npm install -g @access-mcp/system-status
npm install -g @access-mcp/software-discovery
npm install -g @access-mcp/xdmod-metrics
npm install -g @access-mcp/allocations
npm install -g @access-mcp/affinity-groups
# Or install all at once
npm install -g @access-mcp/announcements @access-mcp/events @access-mcp/compute-resources @access-mcp/system-status @access-mcp/software-discovery @access-mcp/xdmod-metrics @access-mcp/allocations @access-mcp/affinity-groups
# Clone and install
git clone <repository-url>
cd access_mcp
npm install
# Build all packages
npm run build
# Run tests
npm test
# Create release bundle
npm run release
access_mcp/
├── packages/
│ ├── shared/ # Shared base classes and utilities
│ ├── announcements/ # ACCESS Support Announcements API server
│ ├── compute-resources/ # Compute Resources API server
│ ├── system-status/ # System Status API server
│ ├── software-discovery/ # Software Discovery API server
│ ├── events/ # Events API server (workshops, training)
│ ├── xdmod-metrics/ # XDMoD Usage Analytics and NSF integration
│ ├── allocations/ # Research Allocations API server
│ └── affinity-groups/ # Affinity Groups API server
├── docs/ # Documentation site (deployed to Netlify)
├── examples/ # Usage examples and configurations
├── scripts/ # Build and automation scripts
└── vitest.config.ts # Test configuration
- Node.js 18+
- npm
npm run build
- Build all TypeScript packagesnpm run dev
- Watch mode for developmentnpm test
- Run test suitenpm run bundle
- Create standalone executablesnpm run release
- Create release package
Use the MCP Inspector for interactive testing:
# Test any server
npx @modelcontextprotocol/inspector packages/announcements/dist/index.js
npx @modelcontextprotocol/inspector packages/events/dist/index.js
npx @modelcontextprotocol/inspector packages/xdmod-metrics/dist/index.js
npx @modelcontextprotocol/inspector packages/allocations/dist/index.js
npx @modelcontextprotocol/inspector packages/affinity-groups/dist/index.js
- Create new package in
packages/
- Extend
BaseAccessServer
from@access-mcp/shared
- Implement required methods (see existing servers for examples)
- Add to
tsconfig.json
references - Update documentation
Full documentation is available at https://access-mcp.netlify.app and includes:
- Installation guides for end users and developers
- API reference for each server
- Claude Desktop configuration examples
- Troubleshooting and FAQs
To work on documentation:
cd docs
npm run dev # Start development server
npm run build # Build for production
Releases include both npm packages and standalone executables:
# Create release bundle
npm run release
# Output:
# - release/access-mcp-servers-vX.X.X.zip (standalone executables)
# - Individual packages ready for npm publish
- Fork the repository
- Create a feature branch
- Make changes with tests
- Submit a pull request
See CONTRIBUTING.md for detailed guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.
- Documentation: https://access-mcp.netlify.app
- Issues: GitHub Issues
- ACCESS-CI: https://access-ci.org
- MCP Protocol: https://modelcontextprotocol.io