Skip to main content
Glama

nport

SEC Form N-PORT 및 Form N-CEN에서 구축되고 GLEIF LEI 레지스터에 연결된 정규화된 펀드 보유 및 서비스 제공자 그래프로, MCP를 통해 에이전트에 제공됩니다.

설계: docs/design.md. 소스 데이터에 대한 경험적 메모: docs/data-notes.md.

상태: 인제스트 계층만. 원시 및 Parquet 계층은 종단 간 배치됩니다. dbt 변환, MCP 서버 및 Terraform은 아직 구축되지 않았습니다.

빠른 시작

uv sync
export SEC_USER_AGENT="Your Name your@email.com"   # the SEC throttles anonymous traffic

uv run nport-ingest periods nport    # what quarters are published upstream
uv run nport-ingest all              # N-PORT + N-CEN + GLEIF, latest available
uv run nport-ingest status           # what is landed, from the manifests

세 가지 소스를 모두 랜딩하는 데 몇 분이 걸리며 ./data 아래에 약 1GB를 씁니다. 단일 소스 또는 이전 분기를 랜딩하려면:

uv run nport-ingest land nport --period 2026q1
uv run nport-ingest land ncen --raw-only     # skip Parquet conversion
uv run nport-ingest land gleif --force       # re-download and re-convert

Related MCP server: civicgraph-mcp

저장소

NPORT_DATA_ROOT는 모든 것이 저장되는 위치를 제어하며 로컬 반복과 ECS에서 실행하는 것 사이의 유일한 차이점입니다:

export NPORT_DATA_ROOT=./data                 # default
export NPORT_DATA_ROOT=s3://my-bucket/nport   # needs the `s3` extra: uv sync --extra s3

레이아웃, docs/design.md §2 참조:

{root}/raw/{source}/{period}/{archive}.zip             original bytes, immutable
{root}/parquet/{table}/period={period}/data.parquet     zstd, all columns VARCHAR
{root}/parquet/_manifest/{source}/period={period}/
    manifest.json    source URL, raw SHA-256, per-table row counts
    schema.json      column names, types, descriptions and PKs, from the
                     CSVW sidecar the SEC ships inside each archive

랜딩된 기간을 다시 실행하는 것은 --force가 전달되지 않는 한 no-op이며, 이는 작업을 일정에서 재시도해도 안전하게 만듭니다. SEC가 동일한 파일 이름으로 분기를 다시 게시하면 실행은 조용히 오래된 데이터를 제공하는 대신 바이트 수가 변경되었음을 경고합니다.

인제스트 계층의 설계 결정

모든 Parquet 열은 VARCHAR입니다. 유형 지정은 dbt staging/에 속합니다. 소스에는 유형 추론을 깨뜨리는 값이 가득합니다 — 28-FEB-2026과 같은 날짜, -.0091723714와 같은 숫자, 숫자 열에 나타나는 N/A — 따라서 여기서 추론은 실패하거나 조용히 강제 변환되며, 원시 바이트에서 재현 가능해야 하는 유일한 계층에 비즈니스 로직을 넣게 됩니다.

다운로드 URL은 구성되지 않고 발견됩니다. 대부분의 SEC 아카이브는 {period}_{source}.zip 패턴을 따르지만, 여러 N-CEN 분기는 재게시 후 2025q1_ncen_0.zip으로 제공되었습니다. 인덱스 페이지에서 href를 스크래핑하며, 기존 패턴은 대체 수단으로 사용됩니다.

아카이브 자체의 스키마 메타데이터가 추출됩니다. 두 SEC ZIP에는 테이블별 기본 키, 열 유형 및 열 설명을 선언하는 CSVW *_metadata.json이 포함되어 있습니다. 이는 transform/의 그레인 검증을 위한 권위 있는 입력이므로 ZIP에 남겨두지 않고 schema.json으로 작성됩니다.

레이아웃

src/nport/ingest/        fetch -> validate -> land as Parquet
    sources/             one module per upstream source
    convert.py           ZIP of delimited text -> Parquet, via DuckDB
    land.py              orchestration and manifests
    storage.py           URI addressing over fsspec (local or S3)
transform/               dbt project (dbt-duckdb)          [not built]
src/nport/server/        FastMCP server                    [not built]
evals/                   scored question set               [not built]
infra/                   Terraform                         [not built]

개발

uv run ruff check src/ && uv run ruff format src/
uv run pytest
F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A 'Server of Servers' architecture that aggregates domain-specific financial data capabilities into a single governed interface. It enables users to access fund performance tools like returns, benchmark comparisons, and risk-adjusted metrics through a unified MCP-compliant gateway.
  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that wraps SEC EDGAR APIs to provide company financial data, screening metrics, and disclosure signals for investment diligence, with every figure traced to its source filing.
    8
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server that reconstructs hedge-fund/superinvestor portfolios from SEC EDGAR 13F filings, offering tools to query fund holdings, consensus activity, and quarter-over-quarter changes through a read-only API.
    3
    AGPL 3.0

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bensacc/nport-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server