weclapp-mcp-server

weclapp-mcp-server

Enables Claude to read weclapp data such as customers, invoices, and articles via a secure MCP server.

Category
Visit Server

README

weclapp-mcp-server

A small remote MCP server that lets Claude read (and, if you extend it, write) data in your weclapp tenant. Your weclapp API token stays on this server — Claude only ever talks to this server, never to weclapp directly.

Tools included out of the box:

  • list_customers, get_customer
  • list_invoices, get_invoice
  • list_articles
  • weclapp_generic_get — fallback for any other GET endpoint

1. Configure

cp .env.example .env

Edit .env:

  • WECLAPP_BASE_URL — for your tenant this is https://ecog.weclapp.com/webapp/api/v1
  • WECLAPP_API_TOKEN — the API key you generated in weclapp under Settings → API
  • MCP_SHARED_SECRET — make up a long random string yourself (e.g. run openssl rand -hex 32). This stops strangers from calling your server. You'll paste this same value into Claude later.

2. Run it locally first (sanity check)

npm install
npm start

You should see:

weclapp-mcp-server listening on port 3000
MCP endpoint: http://localhost:3000/mcp

If you have curl, you can smoke-test it:

curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Authorization: Bearer YOUR_MCP_SHARED_SECRET" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

You should get back JSON listing the tools above.

3. Deploy it somewhere reachable over HTTPS

Claude needs to reach this server over the public internet with HTTPS. Local localhost won't work for the real connector. Easiest options, roughly cheapest/simplest first:

  • Railway / Render / Fly.io — connect your GitHub repo (or drag-and-drop this folder), set the three env vars in their dashboard, deploy. They give you an HTTPS URL automatically.
  • A VPS you already have — run with npm start behind a reverse proxy (e.g. Caddy or nginx) that terminates HTTPS, or use a tool like cloudflared tunnel to get HTTPS without configuring certificates yourself.

Whichever you choose, set the same three environment variables (WECLAPP_BASE_URL, WECLAPP_API_TOKEN, MCP_SHARED_SECRET) in that platform's settings — don't commit your .env file anywhere public.

You'll end up with something like:

https://your-app-name.up.railway.app/mcp

4. Connect it in Claude

  1. Go to Claude Settings → Connectors.
  2. Choose Add custom connector.
  3. Paste your server's URL, e.g. https://your-app-name.up.railway.app/mcp.
  4. When it asks for auth, choose the option for a custom header / bearer token, and enter your MCP_SHARED_SECRET value.
  5. Save, then enable the connector for a chat.

Claude will now see list_customers, get_invoice, etc. as tools it can call when relevant, e.g. "look up invoice 1234 in weclapp."

5. Extend it

To add more tools (sales orders, quotations, contacts, etc.), copy the pattern of list_customers in server.js — most weclapp list endpoints follow the same shape: /{resource} with page, pageSize, and <field>-eq / <field>-like query filters. weclapp's full API reference is at https://{your-tenant}.weclapp.com/webapp/api/help (auth required, browse it while logged in).

Security notes

  • Never put WECLAPP_API_TOKEN or MCP_SHARED_SECRET in code you commit to a public repo. Use your hosting platform's environment variable settings.
  • This server currently allows any GET via weclapp_generic_get, which is convenient for exploring but also means Claude could read any data your API token can read. Remove that tool if you want to restrict access to only the specific tools above.
  • If you add tools that create/update/delete data (POST/PUT/DELETE), treat those as higher-risk: consider requiring explicit confirmation in your prompts, or splitting a separate "read-only" token from a "write" token if weclapp's permission model supports it.

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
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

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