Skip to content

Allocations MCP Server

MCP server for ACCESS-CI research projects and allocations with NSF funding integration, boolean search, and similarity matching.

Usage Examples

Search & Discovery

"Machine learning projects on ACCESS"
"GPU computing allocations from 2024"
"Projects using 'deep learning' NOT 'computer vision'"
"All projects at Stanford"

Funding Analysis

"Analyze funding for project 12345"
"NSF-funded projects at University of Illinois"
"Institutional funding profile for MIT"

Tools

search_projects

Search ACCESS-CI research projects with boolean operators and similarity matching.

Parameters:

ParameterTypeDescription
querystringSearch with operators: AND, OR, NOT, exact phrases in quotes
project_idnumberGet specific project details
field_of_sciencestringFilter by field (e.g., "Computer Science")
resource_namestringFilter by resource (e.g., "NCSA Delta GPU")
allocation_typestringFilter: Discover, Explore, Accelerate
date_rangeobject{start_date: "YYYY-MM-DD", end_date: "YYYY-MM-DD"}
min_allocationnumberMinimum allocation amount
similar_tonumberFind projects similar to this project ID
similarity_keywordsstringFind projects similar to these terms
similarity_thresholdnumberMin similarity score (0.0-1.0, default: 0.3)
sort_byenumrelevance, date_desc, date_asc, allocation_desc, allocation_asc, pi_name
limitnumberMax results (default: 20, max: 100)

Examples:

javascript
// Boolean search
search_projects({ query: '"machine learning" AND gpu', limit: 10 })

// Get project details
search_projects({ project_id: 12345 })

// Find similar projects
search_projects({ similar_to: 12345, similarity_threshold: 0.7 })

// Filter by field and resource
search_projects({ field_of_science: "Computer Science", resource_name: "Delta" })

analyze_funding

Cross-reference ACCESS allocations with NSF awards for funding analysis.

Parameters:

ParameterTypeDescription
project_idnumberAnalyze funding for specific project
institutionstringGenerate institutional funding profile
pi_namestringFind funded projects by PI name
has_nsf_fundingbooleanFilter to only NSF-funded projects
field_of_sciencestringFilter by field
limitnumberMax results (default: 20)

Examples:

javascript
// Analyze project funding
analyze_funding({ project_id: 12345 })

// Institutional profile
analyze_funding({ institution: "University of Illinois" })

// Find PI's funded projects
analyze_funding({ pi_name: "John Smith", has_nsf_funding: true })

get_allocation_statistics

Get aggregate statistics across ACCESS allocations (top fields, resources, institutions).

Parameters:

ParameterTypeDescription
pages_to_analyzenumberPages to analyze (default: 5, max: 20)

get_my_rp_accounts

List all resource-provider (RP) accounts for the authenticated user — every resource they have an allocation on, with cached balances. Returns one entry per RP: the resource_id (ACCESS Global Resource ID, e.g. delta.ncsa.access-ci.org), rp_display_name, rp_username, account state, and grants with balances and units. Start here to discover which resources the user has, then call get_rp_account for a live balance on one of them. Read-only.

Requires authentication: the acting user is resolved from the X-Acting-User header (set by an authenticated MCP connector). Balances reflect the last sync (synced_at); a first-time query may return state: "syncing" — ask again in a few seconds.

Parameters: none.

Examples:

javascript
// List the signed-in user's RP accounts
get_my_rp_accounts({})

get_rp_account

Get the authenticated user's account and live balance on ONE resource provider (RP). Returns the RP display name, the user's rp_username, and their grants with current balances and units. Read-only, scoped to the acting user.

Parameters:

ParameterTypeDescription
resource_idstringRequired. ACCESS Global Resource ID (e.g. delta.ncsa.access-ci.org). Get it from get_my_rp_accounts, or from search_resources for an arbitrary resource.
livebooleanWhen true, fetch a real-time balance (slower) instead of the last-synced value.

Examples:

javascript
// Cached balance on a specific RP
get_rp_account({ resource_id: "delta.ncsa.access-ci.org" })

// Real-time balance
get_rp_account({ resource_id: "delta.ncsa.access-ci.org", live: true })

Installation

bash
npm install -g @access-mcp/allocations

Configuration

json
{
  "mcpServers": {
    "access-allocations": {
      "command": "npx",
      "args": ["@access-mcp/allocations"]
    }
  }
}

NSF Integration (Optional)

For NSF funding cross-referencing, run both servers:

json
{
  "mcpServers": {
    "access-nsf-awards": {
      "command": "npx",
      "args": ["@access-mcp/nsf-awards"],
      "env": { "PORT": "3007" }
    },
    "access-allocations": {
      "command": "npx",
      "args": ["@access-mcp/allocations"],
      "env": { "ACCESS_MCP_SERVICES": "nsf-awards=http://localhost:3007" }
    }
  }
}

The allocations server works without NSF integration (gracefully degrades to ACCESS data only).

Resources

  • accessci://allocations - ACCESS-CI research projects and allocations

Package: @access-mcp/allocationsVersion: v0.7.0 Main: dist/index.js