MCP authentication

When an MCP client connects to an MCP server, it may set an `authentication key' for the duration of the connection. The key is simply a string (in the format described in `help mcp-syntax' ) that must be sent by the server with every MCP request for the request to be authenticated. The authentication key is a secret shared by the client and the MCP subsystem of the server.

The syntax for setting the authentication key is:


  #$#authentication-key <auth-key>

 

Clients may accept, reject, or query the user about MCP requests that are either missing an authentication key or have the incorrect key.

Typically, clients will generate a random number or string on connection and use it as their key.

Proposal: eliminate reference to client and server, and make the authentication scheme symmetric.