@filefeed/mcp-server
v1.0.0
Published
MCP Server for FileFeed — expose all FileFeed SDK capabilities as Model Context Protocol tools
Readme
@filefeed/mcp-server
MCP (Model Context Protocol) Server for FileFeed. Exposes all FileFeed SDK capabilities as MCP tools, enabling AI assistants like Claude Desktop, Cursor, and VS Code Copilot to manage your FileFeed pipelines, clients, schemas, webhooks, and data.
Quick Start
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"filefeed": {
"command": "npx",
"args": ["@filefeed/mcp-server"],
"env": {
"FILEFEED_API_KEY": "your-api-key"
}
}
}
}Cursor
Add to your Cursor MCP settings:
{
"mcpServers": {
"filefeed": {
"command": "npx",
"args": ["@filefeed/mcp-server"],
"env": {
"FILEFEED_API_KEY": "your-api-key"
}
}
}
}VS Code
Add to your VS Code MCP settings:
{
"mcp": {
"servers": {
"filefeed": {
"command": "npx",
"args": ["@filefeed/mcp-server"],
"env": {
"FILEFEED_API_KEY": "your-api-key"
}
}
}
}
}Configuration
| Environment Variable | Required | Default | Description |
|---------------------|----------|---------|-------------|
| FILEFEED_API_KEY | Yes | — | Your FileFeed API key |
| FILEFEED_BASE_URL | No | https://api.sftpsync.io | API base URL |
| FILEFEED_TIMEOUT_MS | No | 30000 | Request timeout in milliseconds |
You can also pass the API key via CLI flag:
filefeed-mcp --api-key your-api-keyAvailable Tools (38)
All tools are registered using the current registerTool() API with proper title, description, inputSchema (Zod), and annotations (readOnlyHint, destructiveHint, idempotentHint) for MCP-aware clients.
Clients (6 tools)
| Tool | Annotations | Description |
|------|------------|-------------|
| clients_list | read-only | List all SFTP clients in the workspace |
| clients_retrieve | read-only | Get a single client by ID |
| clients_create | — | Create a new SFTP client |
| clients_update | idempotent | Update an existing client |
| clients_remove | destructive | Delete a client |
| clients_test_connection | read-only | Test SFTP connectivity for a client |
Schemas (6 tools)
| Tool | Annotations | Description |
|------|------------|-------------|
| schemas_list | read-only | List all data schemas |
| schemas_retrieve | read-only | Get a single schema by ID |
| schemas_create | — | Create a new schema with field definitions |
| schemas_update | idempotent | Update an existing schema |
| schemas_remove | destructive | Delete a schema |
| schemas_validate | read-only | Validate data against a schema |
Pipelines (6 tools)
| Tool | Annotations | Description |
|------|------------|-------------|
| pipelines_list | read-only | List all pipelines (filterable by client) |
| pipelines_retrieve | read-only | Get a single pipeline by ID |
| pipelines_create | — | Create a new pipeline with field mappings |
| pipelines_update | idempotent | Update an existing pipeline |
| pipelines_remove | destructive | Delete a pipeline |
| pipelines_toggle_active | — | Toggle pipeline active/inactive status |
Pipeline Runs (8 tools)
| Tool | Annotations | Description |
|------|------------|-------------|
| pipeline_runs_list | read-only | List runs with filtering (status, client, pipeline) |
| pipeline_runs_retrieve | read-only | Get a single run by ID |
| pipeline_runs_get_data | read-only | Get processed data from a run (paginated) |
| pipeline_runs_ack | idempotent | Acknowledge a run as consumed |
| pipeline_runs_reprocess | — | Reprocess a failed run |
| pipeline_runs_get_original_url | read-only | Get presigned URL for original file |
| pipeline_runs_get_processed_url | read-only | Get presigned URL for processed file |
| pipeline_runs_get_by_pipeline | read-only | List runs for a specific pipeline |
Webhooks (6 tools)
| Tool | Annotations | Description |
|------|------------|-------------|
| webhooks_list | read-only | List all webhooks |
| webhooks_retrieve | read-only | Get a single webhook by ID |
| webhooks_create | — | Create a new webhook |
| webhooks_update | idempotent | Update an existing webhook |
| webhooks_remove | destructive | Delete a webhook |
| webhooks_list_deliveries | read-only | List webhook delivery attempts |
Outbound (6 tools)
| Tool | Annotations | Description |
|------|------------|-------------|
| outbound_init_upload | — | Initialize a multipart upload session |
| outbound_upload_part | — | Upload a data chunk |
| outbound_complete_upload | — | Complete and trigger processing |
| outbound_abort_upload | destructive | Abort an upload session |
| outbound_get_upload_status | read-only | Check upload progress |
| outbound_upload_json | — | Upload JSON data (auto-chunked convenience method) |
Development
# Install dependencies
npm install
# Build
npm run build
# Type check
npm run typecheck
# Run locally
FILEFEED_API_KEY=your-key npm startLicense
MIT
