Skip to content

Conversation

samkudr
Copy link
Contributor

@samkudr samkudr commented Sep 8, 2025

This request updates README by adding missing interface property and tuning the service code.

Motivation and Context

When I was following the README examples with my first try on MCP-server, my server didn't list its tools to the client and didn't quit after I stopped the client. I spent some time fixing issues and want to share my solutions, because it seems to me that official README needs some actualization.

How Has This Been Tested?

I tested it in Claude for Mac.

Breaking Changes

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

  1. Missing interface property Tool.inputSchema.type leads to a non-workable tools listing.
  2. shutdown() func is not protocoled and confuses the developer.
  3. Server has a func that is designed for completion waiting. Task.sleep() is hard to configure with a proper timeout and it won't stop MCPService when EOF is received.
  4. Service group is better to shutdown normally instead of cancelling, which actually throws ServiceGroupError.serviceFinishedUnexpectedly.
    4.2. Refactor usage of deprecated ServiceGroup(services:,configuration:,logger:).

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