MCP Server Development

We design, build and test Model Context Protocol servers in TypeScript, Python or your own stack, with read-only tools first and confirmed, audited actions.

Banner for the GeekMidst service “MCP Server Development”, covering What's included and How we work

An MCP server is the program that gives AI applications a standard way to use your data and actions. The Model Context Protocol (MCP) is an open, JSON-RPC 2.0-based protocol: an AI host creates one MCP client per server, and each server exposes tools (functions the model can call), resources (data addressed by URIs) and prompts (templates the user chooses). GeekMidst designs, builds and tests MCP servers remotely from India.

We have built and run one MCP server of our own: the public, read-only server at the /mcp endpoint on this website, described in the GeekMidst MCP server project. Any server we design for Salesforce, Marketing Cloud, Data 360, Braze or your internal systems is a proposed design: we validate the APIs, edition and permissions for each implementation.

Check vendor servers first: Salesforce Hosted MCP Servers are GA (29 April 2026), the Marketing Cloud Engagement MCP Server is GA (2 June 2026), and Braze describes its remote server as generally available (23 July 2026). If one fits, start with MCP integration consulting. Build a custom server when no vendor server covers the need or the data is your own.

What's included

AreaWhat we cover
Architecture and readinessUse cases, data classification, systems in scope, vendor server fit
Custom server developmentTypeScript SDK v2 (@modelcontextprotocol/server 2.3.1) or v1 (@modelcontextprotocol/sdk 1.32.1), Python (mcp 2.3.0), or another stack
Tool schemas and input validationJSON Schema per tool, unknown fields rejected, errors the model can correct
Resources and promptsResource URIs, pagination, and prompts for your own review steps
Read-only knowledge serversDocumentation and policy knowledge with cited passages
Controlled action toolsWrite tools behind human confirmation, with honest annotations
Authentication and authorisationOAuth 2.1 resource server per the spec: protected resource metadata, audience-checked tokens, minimal scopes
Audit logging and observabilityCaller, tool, outcome and timing, without sensitive arguments
Deployment and versionsEnvironments, server-side secrets, protocol eras, tool versioning
Security testing and permission reviewsTokens, origin checks, cross-user isolation, per-tool permissions
Client compatibility testingSDK clients, MCP Inspector and your target hosts
Lifecycle and troubleshootingSpec and SDK upgrades, deprecations, failing connections

How we work

  1. 01

    Discovery

    We list the questions and actions people want help with, the systems behind them and their owners.

  2. 02

    Design

    We write the tool catalogue, permission model and confirmation rules before any code. Read-only tools come first.

  3. 03

    Build

    Business logic stays separate from the transport, so it is unit tested without an AI client.

  4. 04

    Test

    We run a protocol test matrix, then test with your target clients.

  5. 05

    Launch

    Sandbox or staging first, then production with monitoring and rate limits on.

  6. 06

    Support

    We track spec and SDK releases, review audit logs and add tools one at a time.

Prerequisites and licences

  • Upstream API access. Vendor API limits apply to every tool call; check the vendor's limits.
  • An identity provider for protected servers. Authorisation is optional in the spec, but non-public data needs it.
  • Vendor licences. Salesforce Hosted MCP Servers are documented as intended for customers with Flex Credits. Confirm your contract.
  • Runtimes. TypeScript SDK v2 needs Node 20+; the Python SDK needs Python 3.10+.

The current protocol revision, 2026-07-28, is stateless, but the official TypeScript SDK client and the MCP Inspector still default to the older initialize handshake, so we usually support both. See the MCP architecture guide.

Who it suits

Teams whose knowledge or APIs no vendor server covers, and platform teams standardising how assistants reach company systems.

Common mistakes

  • One large server for every domain, so a single permission review covers everything.
  • Generic "run any query" tools instead of narrow, named operations.
  • Passing the user's upstream token straight through. The spec forbids it.
  • Write tools with no confirmation step, or annotations treated as a security control (they are hints).
  • Testing with a single client and a single protocol version.

See MCP integrations, the MCP host, client and server architecture, MCP security and authorisation and MCP security and governance. If the main job is connecting systems rather than serving AI, start with MCP vs direct API integration.

Questions we hear

Do we need a custom server if the vendor has one?
Often not. Use the vendor's server where it fits and build only the gaps.
Which language should the server use?
The MCP project publishes TypeScript and Python SDKs. Any stack that speaks JSON-RPC 2.0 over Streamable HTTP works; our own server is a PHP application.
Can the AI change data through the server?
Only if you choose to add write tools. We start read-only, then add narrow write tools that need human confirmation and are audited.
How do users sign in?
A protected server acts as an OAuth 2.1 resource server. Clients get tokens from your authorisation server using PKCE, and the server checks each token was issued for it.

Sources

  • https://modelcontextprotocol.io/docs/learn/architecture
  • https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization
  • https://modelcontextprotocol.io/specification/2026-07-28/changelog
  • https://www.npmjs.com/package/@modelcontextprotocol/sdk
  • https://pypi.org/project/mcp/
  • https://developer.salesforce.com/blogs/2026/04/salesforce-hosted-mcp-servers-are-now-generally-available

Plan your MCP server

Tell us which systems and questions you want an assistant to handle. We will suggest a read-only first version and a test plan.

Book a consultation →

Next step: MCP Server Development

  1. We read it A practitioner reads your message and replies by email.
  2. Short call We confirm goals, constraints and what success looks like.
  3. Written scope You get a scope and estimate before any work starts.

Tell us what you are trying to fix.

Share your Salesforce setup, goals and constraints. A practitioner reads every message and replies with questions, first thoughts or an honest view of whether you need outside help at all.

Talk to a Salesforce Expert
Book a Consultation