Skip to content

Review library for protocol completeness #32

Closed
@eiriktsarpalis

Description

@eiriktsarpalis

Originally posted by @eiriktsarpalis in PederHP/mcpdotnet#80.

We should conduct a review checking that all facets of the MCP specification are being implemented by this library.

Known issues

  • Logging is not implemented. It's an optional utility capability (server to client). Configuration should be added on the client side to easily integrate with logging. Very few users will want to actually implement a client-side handler for this. Server side configuration could also be added to integrate directly with a logger. I am not sure the protocol model matches logging extensions, so might need to make the mapping configurable (nice-to-have).
  • Authorization (also optional) is also not implemented, but I am not sure any MCP SDK implements that fully according to spec, and most don't at all.
  • There are also some request / response schemas which support free-form _meta / additional properties patterns not implemented. Some of these are not particularly pleasant outside weakly typed languages, so in the local branch where I'm doing such a completeness pass I'm considering just using JsonElement for them. Not sure what the best way to support these is - will find some examples later.
  • Notification capability flags are not enforced server side. Servers must not send notifications to clients that are not declared in capabilities. This is currently possible to do as a server author.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions