Skip to main content
Glama
shawndrake2

Bureau of Economic Analysis (BEA) MCP Server

by shawndrake2
README.md
# BEA (Bureau of Economic Analysis) MCP Server

Access U.S. economic data including GDP, personal income, regional economics, and industry statistics.

## Data Available

- **GDP** - Gross Domestic Product (national and by state)
- **Personal Income** - Income by state, county, and metro area
- **Regional Economic Accounts** - State and local economic indicators
- **Industry Data** - GDP by industry sector
- **International Trade** - Trade statistics

## Setup

1. Get a free API key at: https://apps.bea.gov/api/signup/
2. Add to your MCP config:

```json
{
  "bea": {
    "command": "node",
    "args": ["/path/to/bea/dist/index.js"],
    "env": {
      "BEA_API_KEY": "your-api-key"
    }
  }
}
```

## Tools

### `list_datasets`
List all available BEA datasets.

**Returns:** NIPA, Regional, GDPbyIndustry, International, etc.

### `get_parameters`
Get required parameters for a specific dataset.

| Parameter | Required | Description |
|-----------|----------|-------------|
| dataset | Yes | Dataset name (e.g., "Regional", "NIPA") |

### `get_parameter_values`
Get valid values for a dataset parameter.

| Parameter | Required | Description |
|-----------|----------|-------------|
| dataset | Yes | Dataset name |
| parameter | Yes | Parameter name (e.g., "TableName", "LineCode", "GeoFips") |

**Example:** Get available tables in Regional dataset
```
dataset: "Regional"
parameter: "TableName"
```

### `query`
Fetch BEA data with full parameter control.

| Parameter | Required | Description |
|-----------|----------|-------------|
| dataset | Yes | Dataset name |
| tableName | Varies | Table identifier |
| lineCode | Varies | Line code for specific series |
| geoFips | Varies | Geographic FIPS codes |
| year | Varies | Year(s) - single, comma-separated, or "ALL", "LAST5" |
| frequency | Varies | A (annual), Q (quarterly), M (monthly) |
| industry | Varies | Industry code (for GDP by Industry) |

### `get_regional_income`
Shortcut for personal income data by state/county.

| Parameter | Required | Description |
|-----------|----------|-------------|
| geoFips | Yes | "STATE" for all states, "COUNTY" for all counties, or specific FIPS |
| year | Yes | Year(s) |
| lineCode | No | 1=Total income, 2=Per capita income, 3=Population |

**Example:** Get per capita income for all states, last 5 years
```
geoFips: "STATE"
year: "LAST5"
lineCode: "2"
```

### `get_gdp_by_state`
Shortcut for state-level GDP data.

| Parameter | Required | Description |
|-----------|----------|-------------|
| geoFips | Yes | "STATE" or specific FIPS codes |
| year | Yes | Year(s) |
| industry | No | "ALL" for total, or specific NAICS |

**Example:** Get GDP for California and Texas
```
geoFips: "06000,48000"
year: "2022,2023"
industry: "ALL"
```

## Common Line Codes (Regional Income)

| Code | Description |
|------|-------------|
| 1 | Total Personal Income |
| 2 | Per Capita Personal Income |
| 3 | Population |
| 10 | Wages and Salaries |
| 45 | Dividends, Interest, Rent |
| 50 | Transfer Receipts |

## Rate Limits

- 100 requests per minute
- 100 MB data per minute

## Documentation

- API Documentation: https://apps.bea.gov/api/
- Data Tables: https://www.bea.gov/data

Maintenance

ActivityInactive
ResponsivenessNo issues