Skip to content

Conversation

mattt
Copy link
Owner

@mattt mattt commented Aug 14, 2025

emcee was built early on, before there were any 3rd-party dependencies for MCP. It was also my first interaction with MCP. As a result, there are a bunch of things wrong with the original implementation.

This PR rips all of that out and replaces it with the official Go SDK.

@mattt mattt requested a review from Copilot August 14, 2025 16:24
Copilot

This comment was marked as outdated.

@mattt mattt requested a review from Copilot August 14, 2025 16:27
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR replaces the hand-rolled MCP implementation with the official github.com/modelcontextprotocol/go-sdk package, addressing issues in the original custom implementation that was built before third-party dependencies were available.

  • Complete replacement of custom MCP protocol implementation with official SDK
  • Refactoring of OpenAPI tool registration into separate internal package
  • Updated test integration to handle proper MCP handshake protocol

Reviewed Changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated no comments.

Show a summary per file
File Description
mcp/transport_test.go Removed custom transport tests (functionality now handled by SDK)
mcp/transport.go Removed custom transport implementation
mcp/server_test.go Removed custom server tests (functionality moved to SDK)
mcp/server.go Removed custom server implementation
mcp/protocol.go Removed custom protocol definitions
main_test.go Updated integration test to perform proper MCP handshake sequence
internal/openapi.go Added new OpenAPI tool registration functionality using SDK types
go.mod Added dependencies for official SDK and JSON schema library
cmd/emcee/main.go Refactored to use SDK server with OpenAPI tool registration

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@mattt mattt merged commit 7c87ab6 into main Aug 14, 2025
1 check passed
@mattt mattt deleted the mattt/sdk branch August 14, 2025 16:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant