About
API wrapped around our salesforce database
README
A wrapper around our Salesforce database, which contains embedded case summaries. This provides some focused tools to LLMs via the Model Context Protocol.
The raw data is sourced from Salesforce via a Fivetran connection. This populates a schema in a TimescaleDB database. A separate process generates LLM summaries of the support cases, and then embeddings of those summaries. This service searches those summaries.
API
All methods are exposed as MCP tools and REST API endpoints.
Salesforce Case Summary Semantic Search
Searches the Salesforce case summaries for relevant entries based on a semantic embedding of the search prompt.
Tool name
: semanticSearchSalesforceCaseSummaries
API endpoint
: GET /api/semantic-search/salesforce-case-summaries
Input
(use query parameters for REST API)
{
"prompt": "Why can't I connect to my database?",
"limit": 10, // optional, default is 10
}
Output
{
"results": [
{
"case_id": "500Nv000005HMfaIAG",
"summary": "# Some content ...",
"distance": 0.40739564321624144,
},
// more results...
],
}
Development
Cloning and running the server locally.
git clone [email protected]:timescale/tiger-salesforce-mcp-server.git
Building
Run npm i to install dependencies and build the project. Use npm run watch to rebuild on changes.
Create a .env file based on the .env.sample file.
cp .env.sample .env
Testing
The MCP Inspector is very handy.
npm run inspector
| Field | Value |
|---|---|
| Transport Type | STDIO |
| Command | node |
| Arguments | dist/index.js |
Testing in Claude Desktop
Create/edit the file ~/Library/Application Support/Claude/claude_desktop_config.json to add an entry like the following, making sure to use the absolute path to your local tiger-salesforce-mcp-server project, and real database credentials.
{
"mcpServers": {
"tiger-salesforce": {
"command": "node",
"args": [
"/absolute/path/to/tiger-salesforce-mcp-server/dist/index.js",
"stdio"
],
"env": {
"PGHOST": "x.y.tsdb.cloud.timescale.com",
"PGDATABASE": "tsdb",
"PGPORT": "32467",
"PGUSER": "readonly_mcp_user",
"PGPASSWORD": "abc123",
"OPENAI_API_KEY": "sk-svcacct"
}
}
}
}
Deployment
We use a Helm chart to deploy to Kubernetes. See the chart/ directory for details.
The service is accessible to other services in the cluster via the DNS name tiger-salesforce-mcp-server.savannah-system.svc.cluster.local.
Secrets
Run the following to create the necessary sealed secrets. Be sure to fill in the correct values.
kubectl -n savannah-system create secret generic tiger-salesforce-mcp-server-database \
--dry-run=client \
--from-literal=user="readonly_mcp_user" \
--from-literal=password="abc123" \
--from-literal=database="tsdb" \
--from-literal=host="x.y.tsdb.cloud.timescale.com" \
--from-literal=port="34240" \
-o yaml | kubeseal -o yaml
kubectl -n savannah-system create secret generic tiger-salesforce-mcp-server-openai \
--dry-run=client \
--from-literal=apiKey="sk-svcacct-" \
-o yaml | kubeseal -o yaml
kubectl -n savannah-system create secret generic tiger-salesforce-mcp-server-logfire \
--dry-run=client \
--from-literal=token="pylf_v1_us_" \
-o yaml | kubeseal -o yaml
kubectl -n savannah-system create secret generic tiger-salesforce-mcp-server-tailscale \
--dry-run=client \
--from-literal=authkey="tskey-auth-" \
-o yaml | kubeseal -o yaml
Update ./chart/values/dev.yaml with the output.
Installing Tiger Salesforce
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/timescale/tiger-salesforce-mcp-serverFAQ
Is Tiger Salesforce MCP free?
Yes, Tiger Salesforce MCP is free — one-click install via Unyly at no cost.
Does Tiger Salesforce need an API key?
No, Tiger Salesforce runs without API keys or environment variables.
Is Tiger Salesforce hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Tiger Salesforce in Claude Desktop, Claude Code or Cursor?
Open Tiger Salesforce on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
wenb1n-dev/SmartDB_MCP
A universal database MCP server supporting simultaneous connections to multiple databases. It provides tools for database operations, health analysis, SQL optim
by wenb1n-devPostgres Server
This server enables interaction with PostgreSQL databases through the Model Context Protocol, optimized for the AWS Bedrock AgentCore Runtime. It provides tools
by madhurprashPostgres
Query your database in natural language
by AnthropicPostgreSQL
Read-only database access with schema inspection.
by modelcontextprotocolRedis
Interact with Redis key-value stores.
by modelcontextprotocolSQLite
Database interaction and business intelligence capabilities.
by modelcontextprotocolmxcp
Open-source framework for building enterprise-grade MCP servers using just YAML, SQL, and Python, with built-in auth, monitoring, ETL and policy enforcement.
by raw-labstadas-github/a2asearch-mcp
MCP server to search 4,800+ MCP servers, AI agents, CLI tools and agent skills. Install: npx -y a2asearch-mcp. Ask Claude: "Find MCP servers for database access
by tadas-githubjulien040/anyquery
Query more than 40 apps with one binary using SQL. It can also connect to your PostgreSQL, MySQL, or SQLite compatible database. Local-first and private by desi
by julien040drakonkat/wizzy-mcp-tmdb
A MCP server for The Movie Database API that enables AI assistants to search and retrieve movie, TV show, and person information.
by drakonkatCompare Tiger Salesforce with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All data MCPs
