MCP Data1 · Salesforce Agentforce Headless · Klient PSA Operations

MCP Data1

Run your projects by talking to your AI.

MCP Data1 connects Claude, Cursor, Copilot — any MCP client — to your live Klient PSA data, and does the operations right: create projects and tasks, assign resources, log time, complete work. The Klient data model is built in, so your AI never fumbles a field name or breaks a cascade. This is the headless way to run your Salesforce PSA — your AI acting on the org directly, no chat-bot screen in between.

Everything runs under your own Salesforce login — your permissions, your sharing rules, your audit trail. Every change lands in Projects and Tasks where humans can see and approve it.

The problem

Salesforce’s MCP server is great. It just doesn’t know Klient.

The official Salesforce MCP server is genuinely good — it reads and writes across your whole org. It simply doesn’t know Klient. It does general-purpose record work, so it has no way to know that completing a task also closes its assignments, that a project assignment has to exist before a task assignment, or how Klient’s statuses and rate fields fit together. MCP Data1 has the Klient PSA data model built in — so for running your projects, your AI does each operation the way Klient expects, every time.

“General Salesforce access is a commodity. Knowing Klient is the product.”

How it works

One install. Your AI. Live Klient PSA.

🔌
Install the MCP Data1 server locally (Node + Salesforce CLI)
🔐
Log in once with sf org login web — your real Salesforce login (SSO/MFA)
🗣️
Talk to your AI: “Create the kickoff task on Atlas and assign Marie”
MCP Data1 does it correctly — right fields, right order, cascade intact
👀
Every change is a real record in Klient, visible and auditable
~/.config/mcp/mcp-data1.json — runs locally
// 1. authenticate once with your real Salesforce login
$ sf org login web

// 2. point your MCP client at the local server
{
  "command": "node",
  "args": ["~/mcp-data1/server.mjs"],
  "env": {
    "KLIENT_MCP_ORG": "your-org-alias"
  }
}
📁Projects

Find, create, update projects; get a health read (status, % complete, tasks by status, overdue) in one call. Status values validated against your org’s picklist; duplicates refused.

“How’s the Atlas rollout doing?” → status, 12 open tasks, 3 overdue, 68% complete.
Tasks — done right

Create tasks and subtasks, link dependencies, and complete tasks the correct way: status → Completed and the task’s assignments → Closed. The cascade a generic record edit misses.

“Mark the discovery task done.” → task completed, 2 assignments closed automatically.
👥Resourcing

Assign people to projects and tasks by name. Assigning to a task auto-creates the project assignment first (correct creation order), and sets the assignment status from the task. Weekly schedules never touch formula rate fields.

“Put Marie on the build task at 20 hours next week.” → project assignment created, task assignment booked, week scheduled.
⏱️Time

Log hours on a task for any day; MCP Data1 finds-or-creates the weekly timesheet and drops the hours in the right day column. Won’t touch a submitted or approved week.

“Log my 3 hours on the API task this morning.” → timesheet for the week created, 3h logged Monday.
🔎Anything else

A guarded SOQL/read/create/update escape hatch (Klient objects + Account + Contact only), live picklist lookups, and a Klient-aware schema describe that surfaces the field traps.

Pairs with Skills

Add the Skills that drive MCP Data1.

MCP Data1 is the server. Skills are the guided, lane-specific ways to drive it — each one drives MCP Data1’s tools so you (or your AI) stay in a single lane and do it right. Add the ones your team needs.

Project Skill
Plan and build complete projects and tasks — sections, subtasks, dependencies, checklists.
Assignment Skill
Staff the work: create resources, assign them to projects and tasks, set weekly schedules.
Time Skill
Log and correct time entries, and review logged time by person, project, or week.

Each Skill is its own product. Need one you don’t have yet? Reach out to your Klient Customer Success Manager, or purchase it from the Klient Customers community.

Scope

What MCP Data1 covers

Objects
Projects, Tasks (+ subtasks, dependencies, checklists), Project & Task Assignments, Schedules, Timesheets — plus Account/Contact.
Fields
Works with every standard Klient field — and your own custom fields on Klient objects, no configuration needed.
You can
Create/update/complete work, assign resources, schedule weeks, log time, query anything in scope, describe objects.
You need
Klient PSA installed · Node 18+ · Salesforce CLI · an MCP client.
⚡ Live in 15 minutes. Hand the zip to your AI and say “install this.”
Requirements

What you need to run it

All required — the server won’t start without them. No license key to paste; access is granted at download from the Klient Customers community.

1
Node.js 18+
The runtime.
2
Salesforce CLI
Authenticate once with sf org login web — no password or token to manage.
3
Klient PSA installed
The server targets the Klient PSA objects in your org.
4
An API-Enabled Salesforce user
If you can log into Salesforce and your profile has API Enabled, it works. (Hardened orgs may need a one-time admin approval of the Salesforce CLI connected app.)
Full tool list

31 tools — and not one of them can delete.

No delete operations anywhere. Every write asks for confirmation, runs as your authenticated Salesforce user (your sharing rules and field-level security apply), and is fully auditable.

See all 31 tools
Projects 5
findProjectResolve a project by Id, exact, or partial name
listProjectsA filtered project list — the project-level twin of listTasks
getProjectHealthStatus, % complete, tasks by status, overdue count
createProjectCreate on an Account — resolves names, validates status, refuses dupes
updateProjectStatus / dates / budget / billable / archived
Tasks 6
findTaskResolve a task by Id/name, optionally within a project
listTasksList tasks (open by default — closed statuses excluded)
createTaskCreate a task or subtask — optionally wire dependencies in one call
updateTaskUpdate fields (status changes cascade to assignments)
completeTaskComplete + close the task’s assignments — the cascade a generic update misses
linkTasksFinish-to-start dependency with lag days
Checklists 2
addTaskChecklistAdd ordered checklist items to a task
completeChecklistItemCheck off an item by its text — no record Id needed
Sections 2
createTaskSectionCreate a phase/grouping of tasks (auto-sequenced, dupe-name refused)
addTaskToSectionPlace a task into a section with its order (idempotent)
Resources 2
createResourceCreate a Project Resource — resolves a User, refuses a duplicate
updateResourceUpdate a resource: name, active flag, default bill/cost rate
Resourcing 6
assignResourceToProjectAssign a person to a project (resolves people to resources)
assignResourceToTaskAssign to a task — auto-creates the project assignment if missing
setWeeklyScheduleA week of planned hours on a PA/TA (formula rate fields protected)
updateProjectAssignmentUpdate a PA: status, dates, rates, notes
updateTaskAssignmentUpdate a TA: status, dates, rates, estimated hours, hold
updateWeeklyScheduleEdit hours of an existing week — only the days you pass change
Time 2
addTimeEntryAdd a new time entry on a task for a day — weekly timesheet auto-created
updateTimeEntryEdit an existing entry by Id — overwrite that day’s hours/comment
General / escape hatch + schema 6
queryRecordsSOQL read (allowlisted objects)
getRecordSingle-record read by Id
createSObjectGeneric create on an allowlisted object (formula fields & OwnerId rejected)
updateSObjectGeneric update (formula fields & OwnerId rejected)
getPicklistValuesLive picklist values from the org
describeKlientObjectObject schema + Klient field traps, formula warnings, status mappings
Safety

Built to be safe in your org

No deletes.
None of the 31 tools can delete a record.
Scoped.
Only the Klient package + Account + Contact — enforced in the server, not just asked of the AI.
Confirmed.
Every write requires explicit confirmation.
Protected.
Formula/rollup fields and record ownership can’t be written.
Yours.
Runs under your Salesforce user; nothing flows through Klient.
Pricing

One-time. Per company. No subscription.

License
One-time · $1,000 USD · per company
Users
Unlimited within your company
Per-query cost
None
Subscription / Flex Credits
None
Data stays in your org; standard Salesforce API limits apply.
FAQ

Questions, answered

What is MCP for Salesforce PSA?

MCP for Salesforce PSA is an open Model Context Protocol server that lets any AI client (Claude, Cursor, Copilot) act directly on your Klient PSA data in Salesforce — creating projects and tasks, assigning resources, and logging time under your own login. MCP Data1 is Klient’s MCP server for project operations.

Why not just use the official Salesforce MCP server?

You can — for general Salesforce work it’s great, and the official servers (now generally available) both read and write. The one thing they don’t have is Klient: they do general-purpose record work, so they don’t know Klient’s cascades, creation order, status mappings, or which fields are formulas. MCP Data1 adds exactly that — the Klient PSA data model, built in — so your AI runs projects the way Klient expects. It’s the Klient-aware companion to the Salesforce MCP, not a replacement.

Which AI tools work with MCP Data1?

Any MCP-compatible client — Claude Desktop/Code, Cursor, Copilot, others.

Does it run on Klient’s servers?

No. It runs on your machine, against your org, under your Salesforce login. Klient hosts nothing.

Can it delete or damage data?

No deletes exist; writes need confirmation; formula fields and ownership are protected; everything is scoped to the Klient model and lands as auditable records.

Is this the same as the Klient agents?

No — MCP Data1 is an attended, headless copilot for a person in a chat; the Agentforce agents are unattended workers. Same destination: the project.

Do I need Agentforce or Flex Credits?

No.

One-time or subscription?

One-time, perpetual, per company. No subscription.

Humans lead. MCP Data1 delivers — into the project.

Book a Demo →