form5500_schedule
Pack: form5500 · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/form5500_schedule for the schema, then POST the same URL with its arguments for the data.
Schedule H (large plan) or Schedule I (small plan) financial line items for a retirement / benefit plan, looked up by employer EIN + plan number (+ plan year) with no Ack ID needed. Returns employer, participant and total contributions, income, benefits paid, administrative expenses, assets and liabilities, plus every stored DOL line by its DOL column name. Source: U.S. Department of Labor, EBSA, Form 5500 Schedule H/I datasets (stored copy; data_as_of and loaded plan years in every response). Omit plan_year for all stored years, newest first. A plan that filed a Form 5500-SF has neither schedule.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
ein | string | yes | Employer Identification Number (9 digits, dashes optional). |
plan_number | string | yes | Three-digit plan number (e.g. “001”; “1” is accepted). |
plan_year | number | no | Plan year (e.g. 2022). Omit for every stored plan year. |
Example call
Arguments
{
"ein": "261501877",
"plan_number": "001",
"plan_year": 2024
}
curl
curl -X POST https://gateway.pipeworx.io/form5500/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"form5500_schedule","arguments":{"ein":"261501877","plan_number":"001","plan_year":2024}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('form5500_schedule', {
"ein": "261501877",
"plan_number": "001",
"plan_year": 2024
});
More examples
{
"ein": "860741227",
"plan_number": "001"
}
Response shape
| Field | Type | Description |
|---|---|---|
ein | string | |
plan_number | string | |
plan_year | number | null | |
schedule_status | string | h | i | not_loaded_year | no_schedule_found | store_unavailable |
count | number | |
schedules | array | |
data_as_of | string | null | |
loaded_plan_years | array | |
schedule_status_reason | string | |
note | string | |
source | string |
Full JSON Schema
{
"type": "object",
"additionalProperties": true,
"properties": {
"ein": {
"type": "string"
},
"plan_number": {
"type": "string"
},
"plan_year": {
"type": [
"number",
"null"
]
},
"schedule_status": {
"type": "string",
"description": "h | i | not_loaded_year | no_schedule_found | store_unavailable"
},
"count": {
"type": "number"
},
"schedules": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"description": "One Schedule H or Schedule I record.",
"properties": {
"schedule": {
"type": "string"
},
"ack_id": {
"type": "string"
},
"ein": {
"type": "string"
},
"plan_number": {
"type": "string"
},
"plan_year": {
"type": "number"
},
"plan_year_begin": {
"type": [
"string",
"null"
]
},
"plan_year_end": {
"type": [
"string",
"null"
]
},
"line_items": {
"type": "object",
"additionalProperties": true,
"description": "Headline lines by friendly name; absent when the filer left the box blank."
},
"blank_line_items": {
"type": "array",
"items": {
"type": "string"
}
},
"dol_fields": {
"type": "object",
"additionalProperties": true,
"description": "Every stored line by DOL column name."
}
}
}
},
"data_as_of": {
"type": [
"string",
"null"
]
},
"loaded_plan_years": {
"type": "array",
"items": {
"type": "number"
}
},
"schedule_status_reason": {
"type": "string"
},
"note": {
"type": "string"
},
"source": {
"type": "string"
}
}
}
Connect
Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:
{
"mcpServers": {
"pipeworx": {
"url": "https://pipeworx.io/mcp"
}
}
}
Connect to just the form5500 pack
{
"mcpServers": {
"form5500": {
"url": "https://gateway.pipeworx.io/form5500/mcp"
}
}
}
See Getting Started for client-specific install steps.