SEC Filings

Read SEC filings, reported financial facts and sampled filing comparisons with original sources.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
82%
Naming quality
90%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~3,021Tokens (tool definitions)
~7.3 KBTypical response size
Significant attention impact (2.36% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "sec-filings": {
      "url": "https://filings.tools/mcp"
    }
  }
}

Remote endpoints

https://filings.tools/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_filings(ticker, form, limit)

Use when someone asks for a company's recent SEC filings, such as its latest 10-K, 10-Q or 8-K, by ticker or CIK. Works for any company in the SEC's ticker list. Returns up to 20 filings from the company's recent EDGAR window, each with a filing id, form type, dates, accession number and original SEC link.

Input Schema

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "pattern": "^[A-Za-z0-9.-]{1,13}$",
      "description": "A ticker in EDGAR spelling (BRK-B), or a CIK such as 320193."
    },
    "form": {
      "type": "string",
      "enum": [
        "10-K",
        "10-Q",
        "8-K",
        "10-K/A",
        "10-Q/A",
        "20-F",
        "40-F"
      ]
    },
    "limit": {
      "default": 10,
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "required": [
    "ticker"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "success",
        "tool_error",
        "internal_error"
      ]
    },
    "usage": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "api_url": {
      "type": "string"
    },
    "docs_url": {
      "type": "string"
    },
    "company": {
      "type": "object",
      "properties": {
        "cik": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "ticker": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "sic": {
          "type": "string"
        },
        "sicDescription": {
          "type": "string"
        },
        "fiscalYearEnd": {
          "type": "string"
        }
      },
      "required": [
        "cik",
        "ticker",
        "name"
      ],
      "additionalProperties": false
    },
    "filings": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "form": {
            "type": "string"
          },
          "accession": {
            "type": "string"
          },
          "filingDate": {
            "type": "string"
          },
          "reportDate": {
            "type": "string"
          },
          "sourceUrl": {
            "type": "string"
          },
          "pageUrl": {
            "type": "string"
          },
          "sectionsUrl": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "form",
          "accession",
          "filingDate",
          "reportDate",
          "sourceUrl",
          "pageUrl",
          "sectionsUrl"
        ],
        "additionalProperties": false
      }
    },
    "error": {
      "type": "string",
      "maxLength": 80
    },
    "message": {
      "type": "string"
    },
    "http_status": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "retry_after": {
      "type": "string",
      "maxLength": 80
    }
  },
  "required": [
    "status",
    "docs_url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢read_filing_section(filing_id, section, max_characters)

Use when someone asks what a filing says in one section, such as risk factors or the business description, or wants the list of sections in a filing. The filing id is one that list_filings returns. Without a section it returns the section index with no text. With a section it returns the text, at most 20,000 characters, with the original length and a flag that marks a cut.

Input Schema

{
  "type": "object",
  "properties": {
    "filing_id": {
      "type": "string",
      "pattern": "^\\d{1,10}-\\d{18}$"
    },
    "section": {
      "type": "string",
      "pattern": "^[a-z0-9-]{1,80}$"
    },
    "max_characters": {
      "default": 12000,
      "type": "integer",
      "minimum": 500,
      "maximum": 20000
    }
  },
  "required": [
    "filing_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "success",
        "tool_error",
        "internal_error"
      ]
    },
    "usage": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "api_url": {
      "type": "string"
    },
    "docs_url": {
      "type": "string"
    },
    "id": {
      "type": "string"
    },
    "product": {
      "type": "string",
      "const": "filings"
    },
    "title": {
      "type": "string"
    },
    "sourceUrl": {
      "type": "string"
    },
    "parserVersion": {
      "type": "string"
    },
    "topics": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "meta": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": [
          "string",
          "number",
          "boolean",
          "null"
        ]
      }
    },
    "index_only": {
      "type": "boolean"
    },
    "section_found": {
      "type": "boolean"
    },
    "sections_truncated": {
      "type": "boolean"
    },
    "sections": {
      "maxItems": 80,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "chars": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "markdown": {
            "type": "string",
            "maxLength": 20000
          },
          "returned_characters": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "truncated": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "title",
          "chars"
        ],
        "additionalProperties": false
      }
    },
    "error": {
      "type": "string",
      "maxLength": 80
    },
    "message": {
      "type": "string"
    },
    "http_status": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "retry_after": {
      "type": "string",
      "maxLength": 80
    }
  },
  "required": [
    "status",
    "docs_url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢filing_facts(filing_id, limit)

Use when someone asks for the reported numbers in one filing, such as revenue, net income or total assets. Returns XBRL facts tagged to that filing's accession, for the API's ten supported concepts: up to 200 reported values with units and periods. It does not return all periods for a company and it does not give investment advice.

Input Schema

{
  "type": "object",
  "properties": {
    "filing_id": {
      "type": "string",
      "pattern": "^\\d{1,10}-\\d{18}$"
    },
    "limit": {
      "default": 50,
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    }
  },
  "required": [
    "filing_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "success",
        "tool_error",
        "internal_error"
      ]
    },
    "usage": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "api_url": {
      "type": "string"
    },
    "docs_url": {
      "type": "string"
    },
    "company": {
      "type": "object",
      "properties": {
        "cik": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "ticker": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "sic": {
          "type": "string"
        },
        "sicDescription": {
          "type": "string"
        },
        "fiscalYearEnd": {
          "type": "string"
        }
      },
      "required": [
        "cik",
        "ticker",
        "name"
      ],
      "additionalProperties": false
    },
    "filing": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "form": {
          "type": "string"
        },
        "accession": {
          "type": "string"
        },
        "filingDate": {
          "type": "string"
        },
        "reportDate": {
          "type": "string"
        },
        "sourceUrl": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "form",
        "accession",
        "filingDate",
        "reportDate",
        "sourceUrl"
      ],
      "additionalProperties": false
    },
    "total_facts": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "truncated": {
      "type": "boolean"
    },
    "facts": {
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "concept": {
            "type": "string"
          },
          "friendly": {
            "type": "string"
          },
          "value": {
            "type": "number"
          },
          "unit": {
            "type": "string"
          },
          "start": {
            "type": "string"
          },
          "end": {
            "type": "string"
          },
          "fy": {
            "type": "number"
          },
          "fp": {
            "type": "string"
          },
          "form": {
            "type": "string"
          },
          "filed": {
            "type": "string"
          },
          "accession": {
            "type": "string"
          }
        },
        "required": [
          "concept",
          "value",
          "unit",
          "end",
          "form",
          "filed",
          "accession"
        ],
        "additionalProperties": false
      }
    },
    "error": {
      "type": "string",
      "maxLength": 80
    },
    "message": {
      "type": "string"
    },
    "http_status": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "retry_after": {
      "type": "string",
      "maxLength": 80
    }
  },
  "required": [
    "status",
    "docs_url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢compare_filing(filing_id)

Use when someone asks what changed between a filing and the one before it, such as this year's 10-K against last year's. Compares the filing with the preceding available reporting period of the same company and form. Returns full sentence-change counts and bounded examples for up to eight sections, and reports when no prior filing is available. It is a sampled comparison, not a complete redline.

Input Schema

{
  "type": "object",
  "properties": {
    "filing_id": {
      "type": "string",
      "pattern": "^\\d{1,10}-\\d{18}$"
    }
  },
  "required": [
    "filing_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "success",
        "tool_error",
        "internal_error"
      ]
    },
    "usage": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "api_url": {
      "type": "string"
    },
    "docs_url": {
      "type": "string"
    },
    "id": {
      "type": "string"
    },
    "ticker": {
      "type": "string"
    },
    "form": {
      "type": "string"
    },
    "comparable": {
      "type": "boolean"
    },
    "current": {
      "type": "object",
      "properties": {
        "accession": {
          "type": "string"
        },
        "filingDate": {
          "type": "string"
        },
        "reportDate": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "page": {
          "type": "string"
        }
      },
      "required": [
        "accession",
        "filingDate",
        "reportDate",
        "url",
        "page"
      ],
      "additionalProperties": false
    },
    "company": {
      "type": "string"
    },
    "prior": {
      "type": "object",
      "properties": {
        "accession": {
          "type": "string"
        },
        "filingDate": {
          "type": "string"
        },
        "reportDate": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "page": {
          "type": "string"
        }
      },
      "required": [
        "accession",
        "filingDate",
        "reportDate",
        "url",
        "page"
      ],
      "additionalProperties": false
    },
    "reportDate": {
      "type": "string"
    },
    "reason": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "totals": {
      "type": "object",
      "properties": {
        "added": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "removed": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "changed": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "unchanged": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "added",
        "removed",
        "changed",
        "unchanged"
      ],
      "additionalProperties": false
    },
    "furniture": {
      "type": "object",
      "properties": {
        "added": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "removed": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "changed": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "unchanged": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "added",
        "removed",
        "changed",
        "unchanged"
      ],
      "additionalProperties": false
    },
    "counting": {
      "type": "string"
    },
    "diffRulesVersion": {
      "type": "string"
    },
    "total_sections": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "samples_only": {
      "type": "boolean"
    },
    "sections": {
      "maxItems": 8,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "counts": {
            "type": "object",
            "properties": {
              "added": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "removed": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "changed": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "unchanged": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "added",
              "removed",
              "changed",
              "unchanged"
            ],
            "additionalProperties": false
          },
          "furniture": {
            "type": "object",
            "properties": {
              "counts": {
                "type": "object",
                "properties": {
                  "added": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "removed": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "changed": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "unchanged": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  }
                },
                "required": [
                  "added",
                  "removed",
                  "changed",
                  "unchanged"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "counts"
            ],
            "additionalProperties": false
          },
          "onlyIn": {
            "type": "string",
            "enum": [
              "prior",
              "current"
            ]
          },
          "added": {
            "maxItems": 2,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 400
            }
          },
          "removed": {
            "maxItems": 2,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 400
            }
          },
          "changed": {
            "maxItems": 2,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "before": {
                  "type": "string",
                  "maxLength": 400
                },
                "after": {
                  "type": "string",
                  "maxLength": 400
                },
                "similarity": {
                  "type": "number"
                }
              },
              "required": [
                "before",
                "after",
                "similarity"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "id",
          "title",
          "counts",
          "added",
          "removed",
          "changed"
        ],
        "additionalProperties": false
      }
    },
    "error": {
      "type": "string",
      "maxLength": 80
    },
    "http_status": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "retry_after": {
      "type": "string",
      "maxLength": 80
    }
  },
  "required": [
    "status",
    "docs_url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools