serve7-mcp-connectors

serve7-mcp-connectors

Provides reusable MCP tools for Amazon Connect AI Agents and Bedrock AgentCore to look up customers, manage support tickets, schedule appointments, update CRM records, retrieve knowledge, and create tasks.

Category
Visit Server

README

Serve7 MCP Connector Library

Reusable MCP tools for Amazon Connect AI Agents and Bedrock AgentCore. Seven generic connectors — customer lookup, create a support ticket, check ticket status, schedule an appointment, update a CRM record, retrieve knowledge, and create a task — built once here, then reused across every Serve7 customer engagement instead of being wired up from scratch per project.

This is project #6 from the Fall 2026 co-op idea list ("Serve7 MCP Connector Library"). It's a working first version: every connector runs end to end today against an in-memory mock backend (no AWS account, no live CRM, no credentials needed to try it), with a clean seam for swapping in a real backend later.

Why an adapter, not a direct integration

Every connector's business logic (schema validation, what counts as an error, what fields go in and out) lives in src/connectors/*.ts and never talks to a concrete backend SDK directly. Instead it calls one of five small interfaces in src/adapters/types.ts — CrmAdapter, TicketingAdapter, SchedulingAdapter, KnowledgeAdapter, TaskAdapter. Today those are all implemented in-memory (src/adapters/mock.ts). Tomorrow, connecting a real Salesforce/ServiceNow/Connect-Cases/Bedrock-Knowledge-Base backend means writing one new adapter class and flipping one switch statement (src/adapters/index.ts) — zero changes to the connector code, its tests, or the MCP tool definitions an agent sees. See docs/adding-a-real-adapter.md.

MCP client (Claude Desktop, Bedrock AgentCore, ...)
        │  tool call: customer_lookup({ customerId: "cust-1001" })
        ▼
src/server.ts (stdio) or src/http-server.ts (deployed)
        │  registers every connector as an MCP tool
        ▼
src/connectors/customer-lookup.ts
        │  validates input (zod), calls adapters.crm.lookupCustomer(...)
        ▼
src/adapters/index.ts  →  mock.ts today, a real adapter later

Project layout

src/
  connectors/       one file per MCP tool — schema + business logic only
  adapters/          the CRM/ticketing/scheduling/knowledge/task interfaces,
                      plus the in-memory mock implementations
  mock-data/         seed data the mock adapters serve
  mcp-server-factory.ts   registers every connector on an McpServer instance
  server.ts          stdio entrypoint (local dev, Claude Desktop, Claude Code)
  http-server.ts      Streamable-HTTP entrypoint (deployed, e.g. behind Lambda)
tests/               one test file per connector + a registry sanity test
deploy/              Dockerfile + AWS SAM template for a Lambda deployment
docs/                per-connector reference + how to add a real adapter

Running it locally

npm install
npm test              # 29 tests, all against the mock adapters
npm run typecheck      # strict TypeScript, zero `any` in connector code
npm start              # stdio MCP server — Ctrl+C to stop
npm run start:http      # HTTP MCP server on :8080 (curl http://localhost:8080/health)
npm run smoke           # real MCP client over stdio, calls all 7 tools end to end
npm run smoke:http      # same, over HTTP — start:http must be running first

Wiring it into Claude Desktop / Claude Code

Point an MCP client at the stdio server, e.g. in Claude Desktop's claude_desktop_config.json:

{
  "mcpServers": {
    "serve7-connectors": {
      "command": "npx",
      "args": ["tsx", "/absolute/path/to/serve7-mcp-connectors/src/server.ts"]
    }
  }
}

Then ask it something like "look up customer cust-1001" or "what knowledge articles do we have on emergency close announcements?" — it'll call customer_lookup / retrieve_knowledge against the mock data.

Deploying it for real use (e.g. from Bedrock AgentCore)

See deploy/README.md — builds a container-image Lambda behind an IAM-authenticated Function URL via sam deploy.

Adding an 8th connector

  1. Create src/connectors/my-new-tool.ts using defineConnector() — copy the shape of an existing one, e.g. create-task.ts.
  2. Add it to the CONNECTORS array in src/connectors/index.ts.
  3. Add a test file in tests/.
  4. Document it in docs/connectors.md.

server.ts, http-server.ts, and the registry test all pick it up automatically — nothing else to touch.

What's deliberately out of scope for this first version

Per the original project brief, each connector should eventually also cover authentication approach (done, at the adapter layer), a deployment template (done, deploy/), and documentation (done, docs/) — all shipped. Not yet built, and worth a fast-follow: a real adapter for at least one backend (so this stops being all-mock), and wiring a live Bedrock AgentCore agent to call it over the deployed HTTP endpoint end to end.

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