sh-patterson/legiscan-mcp

sh-patterson/legiscan-mcp

от sh-patterson
MCP сервер для законодательных данных всех штатов США и Конгресса. Через LegiScan API предоставляет 10 инструментов для поиска законопроектов, голосований и информации о законодателях. Ускоряет исследовательские задачи аналитиков и журналистов.

LegiScan MCP Server

CI License: MIT Node TypeScript

A Model Context Protocol (MCP) server that gives terminal agents structured access to the LegiScan API for legislative data from all 50 US states and Congress.

Built for research workflows where you direct an agent (Codex, Claude Code, Claude Desktop, etc.) to gather bill history, sponsor context, and voting records quickly.

Features

  • 10 Streamlined MCP Tools optimized for legislative research workflows
  • Composite tools that collapse multi-step research workflows into single MCP tool calls
  • Per-request batching and lookup caching for repeated bill and roll-call lookups
  • Full TypeScript type definitions for all API responses
  • Bill number normalization (handles AB 858, AB858, AB-858 formats)
  • Input validation guardrails for state codes, legislator name queries, and large bill batches

Installation

npm install -g legiscan-mcp-server
From Source
git clone https://github.com/sh-patterson/legiscan-mcp.git
cd legiscan-mcp
npm install
npm run build

Setup

1. Get a LegiScan API Key

Часто задаваемые вопросы

Инструменты были проиндексированы:
legiscan_find_bill_by_number

Находит законопроект по его номеру в рамках текущей или конкретной сессии законодательного органа штата. Обрабатывает разные форматы (AB 858, AB858, AB-858). Возвращает краткое описание законопроекта, если найден, null - если нет.

Параметры
  • bill_numberstringобязательный

    Номер законопроекта в любом распространённом формате (например, 'AB 858', 'AB858', 'AB-858', 'SB 1234')

  • session_idnumber

    Идентификатор сессии для поиска конкретной сессии. Имеет приоритет над состоянием.

  • statestring

    Двухбуквенное сокращение штата (например, CA, TX). Использует текущую сессию.

legiscan_find_legislator

Находит people_id законодателя по имени. Полезно как первый шаг перед другими запросами. Поддерживает частичное совпадение имени.

Параметры
  • namestringобязательный

    Полное или частичное имя для поиска (например, 'Smith', 'Jane Smith')

  • session_idnumber

    Необязательный конкретный session_id (по умолчанию: текущая сессия)

  • statestringобязательный

    Двухбуквенное сокращение штата (например, 'CA')

legiscan_get_bill

Получает подробную информацию о законопроекте: авторов, полную историю, голосования, тексты, поправки и дополнения. Это основной инструмент для исследования законопроектов.

Параметры
  • bill_idnumberобязательный

    Bill ID из результатов поиска или find_bill_by_number

legiscan_get_legislator_votes

Получает информацию о том, как законодатель проголосовал по конкретным законопроектам. Сокращает сотни API-запросов до одного. Возвращает результаты голосования (Yea/Nay/NV/Absent) по каждому законопроекту с деталями поименного голосования.

Параметры
  • bill_idsnumber[]обязательный

    Массив bill_ids для проверки голосов.

  • chamberenum

    Необязательный фильтр палаты (H=Палата представителей, S=Сенат, A=Ассамблея)

  • people_idnumberобязательный

    people_id законодателя для поиска голосов

legiscan_get_person

Получить информацию о законодателях, включая партию, роль, округ и сторонние идентификаторы (VoteSmart, OpenSecrets, Ballotpedia, FollowTheMoney).

Параметры
  • people_idnumberобязательный

    Получает ID людей из списков спонсоров, голосований или участников сессий.

legiscan_get_primary_authored

Получает только те законопроекты, где законодатель является ПЕРВЫМ автором (sponsor_order=1), а не соавтором. Автоматически отсеивает законопроекты с соавторством.

Параметры
  • people_idnumberобязательный

    people_id законодателя, чтобы получить законопроекты, где он — основной автор.

  • session_idnumber

    Необязательный session_id для фильтрации результатов.

  • statestring

    Необязательное сокращение штата — если указано без session_id, используется текущая сессия.

legiscan_get_roll_call

Получить детали поименного голосования, включая голоса отдельных законодателей. Используйте roll_call_id из массива bill.votes[].

Параметры
  • roll_call_idnumberобязательный

    Идентификатор поименного голосования из массива bill.votes[]

legiscan_get_session_list

Получить список доступных законодательных сессий. Возвращает сессии с session_id, годами и информацией о штате. Используйте session_id для последующего поиска законопроектов.

Параметры
  • statestring

    Аббревиатура штата из двух букв (например, 'CA', 'TX'). Если не указано, возвращаются сеансы для всех штатов.

legiscan_get_session_people

Получает всех законодателей, активных в законодательной сессии. Возвращает список людей с их ролями, партиями и округами.

Параметры
  • session_idnumberобязательный

    Идентификатор сессии из getSessionList

legiscan_search

Полнотекстовый поиск по текстам законопроектов. Возвращает 50 результатов на страницу с оценками релевантности, краткими описаниями законопроектов и URL. Используйте для интерактивного поиска.

Параметры
  • pagenumber

    Номер страницы для постраничной навигации (по умолчанию 1)

  • querystringобязательный

    Поисковый запрос. Поддерживает синтаксис полнотекстового поиска. Кодируйте специальные символы в URL.

  • session_idnumber

    Выполняйте поиск в пределах конкретного session_id вместо state/year.

  • statestring

    Двухбуквенная аббревиатура штата или 'ALL' для поиска по всей стране. По умолчанию: ALL

  • yearnumber

    Фильтр по году: 1=все, 2=текущий (по умолчанию), 3=недавний, 4=предыдущий, или точный год (>1900)

1.0.0основная

Выберите клиент, чтобы установить sh-patterson/legiscan-mcp:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "sh-patterson-legiscan-mcp-lcxf0z5bjc": {
      "command": "npx",
      "args": [
        "-y",
        "legiscan-mcp-server"
      ],
      "env": {
        "LEGISCAN_API_KEY": "your_api_key_here"
      }
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "sh-patterson-legiscan-mcp-lcxf0z5bjc": {
      "command": "npx",
      "args": [
        "-y",
        "legiscan-mcp-server"
      ],
      "env": {
        "LEGISCAN_API_KEY": "your_api_key_here"
      }
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "sh-patterson-legiscan-mcp-lcxf0z5bjc": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "legiscan-mcp-server"
      ],
      "env": {
        "LEGISCAN_API_KEY": "your_api_key_here"
      }
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"sh-patterson-legiscan-mcp-lcxf0z5bjc\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"legiscan-mcp-server\"],\"env\":{\"LEGISCAN_API_KEY\":\"your_api_key_here\"}}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "sh-patterson-legiscan-mcp-lcxf0z5bjc": {
      "command": "npx",
      "args": [
        "-y",
        "legiscan-mcp-server"
      ],
      "env": {
        "LEGISCAN_API_KEY": "your_api_key_here"
      }
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add sh-patterson-legiscan-mcp-lcxf0z5bjc --env LEGISCAN_API_KEY=your_api_key_here -- npx -y legiscan-mcp-server

Либо через JSON-конфиг:

claude mcp add-json sh-patterson-legiscan-mcp-lcxf0z5bjc "{\"command\":\"npx\",\"args\":[\"-y\",\"legiscan-mcp-server\"],\"env\":{\"LEGISCAN_API_KEY\":\"your_api_key_here\"}}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add sh-patterson-legiscan-mcp-lcxf0z5bjc --env LEGISCAN_API_KEY=your_api_key_here -- npx -y legiscan-mcp-server

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.sh-patterson-legiscan-mcp-lcxf0z5bjc]
command = "npx"
args = ["-y", "legiscan-mcp-server"]

[mcp_servers.sh-patterson-legiscan-mcp-lcxf0z5bjc.env]
LEGISCAN_API_KEY = "your_api_key_here"
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите sh-patterson/legiscan-mcp, а в поле команды запуска — строку ниже:
npx -y legiscan-mcp-server

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "sh-patterson-legiscan-mcp-lcxf0z5bjc": {
      "command": "npx",
      "args": [
        "-y",
        "legiscan-mcp-server"
      ],
      "env": {
        "LEGISCAN_API_KEY": "your_api_key_here"
      }
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "sh-patterson-legiscan-mcp-lcxf0z5bjc": {
      "command": "npx",
      "args": [
        "-y",
        "legiscan-mcp-server"
      ],
      "env": {
        "LEGISCAN_API_KEY": "your_api_key_here"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например sh-patterson-legiscan-mcp-lcxf0z5bjc.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: sh-patterson-legiscan-mcp-lcxf0z5bjc
    command: npx
    args:
      - "-y"
      - "legiscan-mcp-server"
    env:
      LEGISCAN_API_KEY: your_api_key_here
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "sh-patterson-legiscan-mcp-lcxf0z5bjc": {
      "command": "npx",
      "args": [
        "-y",
        "legiscan-mcp-server"
      ],
      "env": {
        "LEGISCAN_API_KEY": "your_api_key_here"
      }
    }
  }
}

Похожие MCP-сервера

gavelin-ai/mcp

gavelin-ai/mcp

от gavelin-ai

MCP сервер Gavelin даёт AI-агентам прямой доступ к законодательным данным 50 штатов США: поиск законопроектов, стенограммы слушаний с именами выступающих. Идеально для аналитиков, лоббистов и иссле...

JavaScript⭐ 1
sh-patterson/fec-mcp-server

sh-patterson/fec-mcp-server

от sh-patterson

MCP-сервер для работы с данными Федеральной избирательной комиссии США о финансировании кампаний. Предоставляет инструменты поиска кандидатов, сводки по комитетам, анализ поступлений, расходов, суп...

TypeScript⭐ 4
r-huijts/opentk-mcp

r-huijts/opentk-mcp

от r-huijts

OpenTK MCP-сервер предоставляет доступ к данным голландского парламента: поиск документов, данные депутатов, заседания. Включает NLP-анализ ключевых слов и тем. Полезен исследователям и журналистам.

HTML⭐ 23
smythmyke/govtoolspro-mcp-server

smythmyke/govtoolspro-mcp-server

от smythmyke

MCP-сервер с инструментами workflow для федеральных подрядчиков: go/no-go скоринг, поиск партнеров и анализ рекомпетишн. Использует данные SAM.gov, USAspending и Navy NECO для оценки госзакупок.

TypeScript⭐ 2
vdmeu/registrum-mcp

vdmeu/registrum-mcp

от vdmeu

MCP-сервер Registrum дает AI-агентам обогащенные данные о британских компаниях: структурированные финансы из iXBRL, директора и сеть связей. Не требует API-ключа Companies House — кэширование и обр...

HTML⭐ 1
vinvuk/apiverket-mcp

vinvuk/apiverket-mcp

от vinvuk

MCP инструмент для работы со шведскими открытыми данными через Apiverket. Команды discover, query и account помогают ИИ-агентам искать, запрашивать и проверять квоты. Подходит для разработчиков, интегрирующих госданные Швеции.

TypeScript⭐ 2
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин