Senior Java Engineer — Port Our Open-Source MCP Analytics SDK (TypeScript → Java)

Posted 6 days ago

Worldwide

Summary

AgentCat is an analytics and observability platform for MCP (Model Context Protocol) servers. Our TypeScript SDK is open source under MIT and shipping on npm: server owners add one line of code and get agent session replay, user-intent capture, and telemetry forwarding to OpenTelemetry, Datadog, Sentry and PostHog. We now need the Java equivalent, and we need it built by someone who will still be maintaining it a year from now. == THE WORK == Port our TypeScript SDK to Java at full feature parity. The reference implementation is public — github.com/agentcathq/agentcat-typescript-sdk — roughly 7,300 lines of source across 40 files, plus 77 test files. We expect you to read it, understand WHY each piece behaves the way it does, and rebuild it idiomatically in Java. We are not looking for a line-by-line transliteration. Target: the official MCP Java SDK (modelcontextprotocol/java-sdk), framework-agnostic, Java 17 LTS baseline. It must work for plain Java, Spring, Quarkus and Micronaut consumers without forcing a framework dependency on them. Both the sync and async server APIs must be supported. == SCOPE (full parity) == - track() entry point that attaches to a server instance and wraps registered tool handlers - JSON Schema injection of session_id, agent_id and context parameters into existing tool input schemas, with those parameters stripped from arguments before the customer's own handler runs - Explicit handles per MCP SEP-2567: KSUID-based session IDs, deterministic derivation from a caller-supplied identifier, validation that rejects any ID we did not issue, and "mint-back" of issued IDs through both structuredContent._mcp_instructions and a trailing instructions text block - get_more_tools, a tool that captures functionality agents looked for but could not find - The hook surface: identify, resolveSessionId, redactSensitiveInformation, redactEvent, eventTags, eventProperties - Redaction, sanitization and truncation: depth 10, breadth 100, 32KB strings, 100KB events, with progressive shrinking so oversized events degrade instead of dropping - Asynchronous event queue: bounded, max 5 concurrent requests, exponential backoff on failure, graceful drain on shutdown - Exporters: OpenTelemetry (OTLP), Datadog, Sentry, PostHog, including trace-context propagation - Opt-out SDK diagnostics and local file logging == THE ONE NON-NEGOTIABLE PROPERTY == The SDK must never break or slow the host server. Every hook runs concurrently with the tool handler and adds no latency to it. A slow hook, a thrown exception, an unreachable API, a malformed response — each of these may cost us analytics data, and must never cost the customer's tool call. Our customers put this library inside their production servers on one line of trust. Fault containment is the feature. == ACCEPTANCE CRITERIA (definition of done) == 1. track() attaches cleanly to both McpSyncServer and McpAsyncServer and returns the tracked instance. 2. Injected parameters appear in tools/list output and are provably stripped before the customer handler executes; a handler receiving an unexpected session_id argument is a failing test. 3. Session lifecycle works end to end: minted on first call, echoed on later calls, and an ID we never issued is rejected with a re-issue instruction rather than adopted. 4. Fault-injection tests prove containment: with the API unreachable, hooks throwing, and the queue saturated, tool calls still return correct results with no added latency. 5. Truncation and redaction match the documented limits, verified by tests derived from the TypeScript suite. 6. All four exporters verified against a local collector or vendor sandbox, not just unit-mocked. 7. Test suite at parity with the TypeScript SDK's coverage of these behaviors. 8. Builds and publishes as a Maven Central artifact under our organization. 9. README and API documentation sufficient for a developer to integrate without reading the source. 10. CI green on every supported Java version. == DELIVERABLES == Source in a repository we own, MIT licensed, published to Maven Central, with the test suite, docs and CI described above. == AFTER THIS CONTRACT == This posting is scoped as the port, but our intent is to transition the right person into a long-term ongoing engagement: maintaining the Java SDK, tracking MCP specification changes, and keeping parity as the TypeScript SDK evolves. The MCP spec moves fast — the stateless 2026-07-28 update rewrote how sessions work and forced a major version of our TS SDK. There is durable, ongoing work here for someone who wants ownership of a public open-source library. == APPLY IF == You have designed public Java libraries or SDKs that other developers consume, and you think carefully about API surface, backward compatibility and dependency footprint. Experience with MCP, JSON-RPC internals, or OpenTelemetry instrumentation is a strong plus. Prior open-source maintainership is the single strongest signal for us.

  • More than 30 hrs/week
    Hourly
  • 3-6 months
    Duration
  • Expert
    Experience Level
  • $60.00

    -

    $90.00

    Hourly
  • Remote Job
Skills and Expertise
Mandatory skills
Java
API Development
Apache Maven
Activity on this job
  • Proposals:20 to 50
  • Last viewed by client:yesterday
  • Interviewing:
    3
  • Invites sent:
    4
  • Unanswered invites:
    3
About the client
Member since Feb 23, 2025
  • United States
    Berkeley4:55 PM
  • $287 total spent
    3 hires, 0 active
  • 7 hours

Explore similar jobs on Upwork

JavaScript
Node.js
PHP
Web Application
AI App Development
DevOps
API
Git
MySQL
Cs2 Gambling SiteFixed-price‐ Posted 4 weeks ago
Gambling
Unity
Counter Strike
AR & VR
Online Gambling Website
Card Game
Board Game
Unreal Engine
MetaMask
Mystery Box
iGaming
WebGL
Game Development
Gaming
Multiplayer
Game UI/UX Design
UI/UX Prototyping
Steam API
AI Development
PixiJS

How it works

  • Post a job icon
    Create your free profile
    Highlight your skills and experience, show your portfolio, and set your ideal pay rate.
  • Talent comes to you icon
    Work the way you want
    Apply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
  • Payment simplified icon
    Get paid securely
    From contract to payment, we help you work safely and get paid securely.
Want to get started? Create a profile

About Upwork

  • Rating is 4.9 out of 5.
    4.9/5
    (Average rating of clients by professionals)
  • G2 2021
    #1 freelance platform
  • 49,000+
    Signed contract every week
  • $2.3B
    Freelancers earned on Upwork in 2020

Find the best freelance jobs

Growing your career is as easy as creating a free profile and finding work like this that fits your skills.

Trusted by

  • Microsoft Logo
  • Airbnb Logo
  • Bissell Logo
  • GoDaddy Logo