Spedy NFS-e MCP

Spedy NFS-e MCP

Enables issuing, consulting, and listing Brazilian NFS-e invoices through Spedy's API over an authenticated HTTP endpoint.

Category
Visit Server

README

Spedy NFS-e MCP

An Invokta Action Engine that exposes Spedy NFS-e emission and status operations through an authenticated MCP Streamable HTTP endpoint.

The engine contains three capabilities:

  • openapi.emitir-nfse: creates and enqueues an NFS-e for asynchronous issue.
  • openapi.consultar-nfse: reads the current status of one NFS-e.
  • openapi.listar-nfse: lists NFS-e records with Spedy filters and pagination.

All capabilities require an authenticated principal. Spedy credentials remain server-side and are never accepted as MCP tool input.

First run

npm run check
npm run build
npm run mcp:http

The included local configuration serves MCP at http://127.0.0.1:3400/mcp. Clients must send Authorization: Bearer <MCP_BEARER_TOKEN>.

The committed .env.example and the ignored local .env contain mock values. Replace MCP_BEARER_TOKEN and SPEDY_API_KEY before making real requests. The default connector target is Spedy's sandbox; production is never selected implicitly.

Configuration

Variable Purpose
MCP_BEARER_TOKEN Protects the MCP HTTP endpoint; minimum 32 characters.
SPEDY_API_KEY Sent by the connector as the server-side X-Api-Key.
SPEDY_BASE_URL Spedy API origin, normally https://sandbox-api.spedy.com.br. Do not append /v1.
INVOKTA_HTTP_HOST Bind host; defaults to 127.0.0.1.
INVOKTA_HTTP_PORT Bind port; the local example uses 3400 and the adapter defaults to 3000 when unset.

Emission is asynchronous. A successful emitir-nfse result means Spedy accepted and enqueued the request; use consultar-nfse or Spedy webhooks to observe authorization or rejection. Always provide a stable integrationId to make retries idempotent.

Project map

  • src/capabilities/ owns domain actions and their input, output, access, and execution contracts.
  • src/engine.ts registers stable capability IDs and supplies engine-owned dependencies.
  • src/direct.ts is the smallest executable smoke path.
  • test/engine.test.ts proves behavior through the public engine boundary.
  • AGENTS.md records the project's non-negotiable architecture and delivery rules.
  • .agents/skills/develop-invokta-project/SKILL.md gives compatible agents a complete change workflow.

Review the generated capabilities

  1. Read AGENTS.md and the generated development skill.
  2. Add a failing engine-level test for the domain outcome you need.
  3. Update or replace the module under src/capabilities/, then register its literal capability ID in src/engine.ts.
  4. Keep direct and generated adapter entry points on the same exported engine; do not duplicate the capability handler in an adapter.
  5. Run npm run check, then inspect the capability in the devtools before deploying it.

Develop interactively

npm run devtools

Builds the engine and starts the Invokta devtools, normally on http://localhost:4100/. Open the URL printed by the command to browse capabilities, invoke them from schema-seeded JSON through the execution path you select, follow the live invocation trace, switch test identities, and read the doctor report. Source changes rebuild and restart the hosted engine automatically.

Run the read-only devtools diagnostics with:

npm run devtools:doctor

Start MCP HTTP

npm run build
npm run mcp:http

Package the server and probe an existing endpoint with:

npm run deploy:package
npm run deploy:probe -- --url https://engine.example/mcp

Review every generated capability's domain meaning and access rule before deployment.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured