
Differential is an open-source application code aware service mesh (control-plane) and a set of adapters (client libraries) which connects your services together with first-class support for Typescript.

import { Differential } from "@differentialhq/core";
// You can get a token from console.differential.dev
const d = new Differential("MY_API_SECRET");
// Write your business logic as if it were local
function sum(a: number, b: number) {
return a + b;
}
function get(url: string) {
// ...even functions with side effects
return fetch(url).then((res) => res.json());
}
// Register your functions with the control-plane
const myService = d.service("my-service", {
functions: {
sum,
get,
},
});
// Start the service, and it will connect to the
// control-plane and listen for function calls from other places
myService.start();
import { Differential } from "@differentialhq/core";
// Import the types of the Differential service
import type { myService } from "./my-service";
// Initialize the Differential SDK with the same API secret
const d = new Differential("MY_API_SECRET");
// Create a client for the service.
// (Notice that you don't have to provide an endpoint. Clients talk to the control-plane)
const client = d.service<typeof myService>("my-service");
// call the remote functions as if they were local, with full type safety
client.sum(1, 2).then(console.log); // 3
client.get("https://api.differential.dev/live").then(console.log); // { status: "ok" }
All documentation is hosted at docs.differential.dev. Here are some quick links to get you started:
This is a mono-repo for almost all of the Differential codebase. It contains the following repositories:
We welcome contributions to Differential! Please see our contributing guide for more information.
$ claude mcp add differential \
-- python -m otcore.mcp_server <graph>