How We Built a Remote MCP Server for Field Service Scheduling
Architecture, OAuth, and connector discovery: practical design questions for bringing field service scheduling into Claude across a multi-branch fleet.

A remote MCP server for field service scheduling needs to support a dispatch decision the team can actually use. In Crisphive's case, the story brings together architecture choices, OAuth, and the path toward the Claude connectors directory. For a team operating 50+ trucks across branches, the useful question is what a dispatcher can ask from Claude without losing control of the schedule. The request needs to mean the same thing to the developer and the person running dispatch. That puts the connection boundary and the dispatcher's experience ahead of adding more scheduling operations.
The context
A dispatch manager doesn't need another place to maintain the same schedule. Think about a regional operation where several branch teams share responsibility for the day's work: if the conversation concerns a job in one branch while the proposed scheduling action affects work in another, even an answer that sounds entirely plausible to the person reading it can be the wrong answer. That's the kind of boundary a scheduling integration should make visible before anyone trusts it with changes.
The brief for this build centers on a remote connection, authorization through OAuth, and directory discovery. Those choices deserve separate treatment. Separate the architecture question of where the server runs from the access question of who can authorize it, and give the distribution question of how a user finds the connector its own review; otherwise, a single launch milestone can conceal a problem in any of those decisions. Bundling them into a single launch milestone makes it harder to tell which part actually works.
The model context protocol project is the reference point for the protocol itself. Here, the design problem is narrower: give a scheduling request enough context to be useful while keeping the person responsible for dispatch in charge. Developers looking for MCP server examples should judge an example by the decisions it explains, including what happens when a request can't be completed.
Searches such as best MCP server or MCP server for small business don't settle that question for a fleet operation. Write down the branch boundary and the person allowed to act first. Then decide which scheduling interactions belong in the connector.
How it works
Start the architecture discussion with the path of a request. A user asks for something in Claude; the integration needs an authorized connection and a scheduling operation with a clear meaning. Treat that as a design sketch, not permission to assume a particular hosting stack, tool name, or API contract. Those details need their own implementation decisions.

For OAuth, define what the user is agreeing to connect. The authorization screen and the scheduling behavior should tell the same story about which organization receives a request, what the person is allowed to do there, and what response they will see if they return to a connection after they no longer have access. Don't make a dispatcher discover an access boundary by accidentally trying to change another branch's work.
A useful implementation review follows these questions through an ordinary request and a rejected one:
- Can the user tell which account and branch the connection concerns?
- Does the operation distinguish asking about work from changing it?
- Can a developer trace a rejected request without exposing credentials?
- Does a failed change leave the user with an accurate account of what happened?
Name the scheduling task in the tool description. A broad label like AI agent tools API says little about whether the action reads a schedule or changes an assignment. If your integration discussion uses function calling scheduling as shorthand, follow it with the actual decision the operation is supposed to support. Developers and dispatchers need to agree on that decision before the interface gets polished.
I'd review the rejection path before adding another operation. An integration that can't explain why it declined a change will be difficult to support once several branches depend on it. Keep implementation-specific guarantees out of the documentation until the behavior has been checked.
What users experience
The user's experience begins before the first scheduling request. Someone has to find the connector, decide whether to connect it, and understand which working context they are entering. The directory work belongs in that journey. After finding a listing, the dispatcher still needs to connect the right account and understand the first result.

Consider a hypothetical branch manager asking about an assignment while a regional dispatcher is reviewing work across the fleet. Their questions may sound similar even though their responsibilities aren't identical, so before changing anything, the interaction should make the intended job and operating context clear enough that either person can catch a misunderstanding without having to ask a developer to explain the response. This is a design test, not a claim about a particular tool already shipping.
I'd rather see an explicit request for missing context than a fluent answer that hides an assumption. If the branch is unclear, ask. If the request exceeds the person's access, explain the boundary. If no change occurred, say so. The user shouldn't have to infer success from the tone of the response.
The Claude documentation gives developers a place to check the client-side setup that applies to their implementation. Keep that setup separate from your own scheduling instructions so a dispatcher who wants to recognize the right connection and understand its result can find the answer without working through an architecture tour or having to untangle client setup guidance from the instructions for dispatch.
For a fleet rollout, walk through the experience with the branch team that will use it. Ask them to explain what they believe the connector can do and who remains responsible for checking a proposed scheduling change. Listen for disagreement before expanding access.
Lessons learned
Review the scheduling boundary first. Once the connection makes sense to the person authorizing it, examine how users will find it in the directory. It's tempting to start with the directory because a listing is visible. A listing won't answer a dispatch manager's question about what happened to an assignment.
Apply that review order to the documentation. Someone arriving through a search for MCP server software may be comparing approaches. Someone asking for MCP server tips may already be working on an integration. Both should be able to find the connection boundary and the failure behavior without reading a product pitch. Explain a decision where the reader needs it; don't scatter the explanation across launch copy.
Be direct about cost, too. An MCP server cost discussion should separate the categories a team needs to investigate, such as operating the integration and supporting it, from prices that haven't been established. Don't attach a savings number to a design choice just because the choice sounds simpler. A regional operations director will have to decide who supports the branches using the connector.
For developers asking how to improve MCP server behavior, start with a review of ambiguous requests. Which ones could refer to different jobs? Where could a person misunderstand the scope of a change? These questions are more useful than adding another broadly named tool simply to make the integration look complete.
The Anthropic news page is a place to follow platform announcements. Keep announcements separate from your own launch evidence. Directory work should be described accurately, without treating an application, a listing, and a tested scheduling workflow as interchangeable achievements.
What's next
Plan a bounded rollout. Choose a scheduling interaction that the branch team can explain in plain language, then specify what a successful result and a rejected request should look like. Keep the scope small enough that a developer and a dispatch manager can review the same interaction together.
When a fleet team searches for MCP server 2026 and finds launch discussions or comparisons, the review still needs to return to its own operating context, including what the branch team believes the connection allows and how that understanding compares with the behavior developers intend to deliver. Before widening access, review the connection experience with the people responsible for branch schedules. Have them try an unclear request and explain the response back to you. If their interpretation differs from the intended behavior, revise the interaction before extending it.
Use a working checklist for that review:
- Record the branch and account context the user expects.
- Identify which interactions read information and which propose changes.
- Write down the explanation for an unauthorized or incomplete request.
- Assign responsibility for investigating a disputed result.
Future build notes should follow actual implementation evidence: a checked connection flow, a documented architecture decision, or a verified directory milestone. Until that evidence exists, describe the intended behavior as a requirement. Bring the developer and regional dispatch lead into the same review, give them the same request, and compare what each believes should happen.
#MCP#ClaudeAI#BuildInPublic#DevTools#Anthropic#API#AIAgents#FieldService#FieldOps#SmallBusiness#dispatch#scheduling#AI#automation#SaaS#B2B#Productivity



