@@ -57,7 +57,7 @@ func main() {
5757    }
5858}
5959
60- func  helloHandler (ctx  context .Context , requestContext  server .RequestContext , request  mcp .CallToolRequest ) (*mcp .CallToolResult , error ) {
60+ func  helloHandler (ctx  context .Context , requestSession  server .RequestSession , request  mcp .CallToolRequest ) (*mcp .CallToolResult , error ) {
6161    name , err  :=  request.RequireString (" name" 
6262    if  err != nil  {
6363        return  mcp.NewToolResultError (err.Error ()), nil 
@@ -92,7 +92,7 @@ MCP Go handles all the complex protocol details and server management, so you ca
9292  -  [ Resources] ( #resources ) 
9393  -  [ Tools] ( #tools ) 
9494  -  [ Prompts] ( #prompts ) 
95-   -  [ RequestContext ] ( #RequestContext  ) 
95+   -  [ RequestSession ] ( #requestSession  ) 
9696-  [ Examples] ( #examples ) 
9797-  [ Extras] ( #extras ) 
9898  -  [ Transports] ( #transports ) 
@@ -154,7 +154,7 @@ func main() {
154154    )
155155
156156    //  Add the calculator handler
157-     s.AddTool (calculatorTool, func (ctx context.Context , requestContext  server.RequestContext , request mcp.CallToolRequest ) (*mcp.CallToolResult , error ) {
157+     s.AddTool (calculatorTool, func (ctx context.Context , requestSession  server.RequestSession , request mcp.CallToolRequest ) (*mcp.CallToolResult , error ) {
158158        //  Using helper functions for type-safe argument access
159159        op , err  :=  request.RequireString (" operation" 
160160        if  err != nil  {
@@ -252,7 +252,7 @@ resource := mcp.NewResource(
252252)
253253
254254//  Add resource with its handler
255- s.AddResource (resource, func (ctx context.Context , requestContext  server.RequestContext , request mcp.ReadResourceRequest ) ([]mcp.ResourceContents , error ) {
255+ s.AddResource (resource, func (ctx context.Context , requestSession  server.RequestSession , request mcp.ReadResourceRequest ) ([]mcp.ResourceContents , error ) {
256256    content , err  :=  os.ReadFile (" README.md" 
257257    if  err != nil  {
258258        return  nil , err
@@ -280,7 +280,7 @@ template := mcp.NewResourceTemplate(
280280)
281281
282282//  Add template with its handler
283- s.AddResourceTemplate (template, func (ctx context.Context , requestContext  server.RequestContext , request mcp.ReadResourceRequest ) ([]mcp.ResourceContents , error ) {
283+ s.AddResourceTemplate (template, func (ctx context.Context , requestSession  server.RequestSession , request mcp.ReadResourceRequest ) ([]mcp.ResourceContents , error ) {
284284    //  Extract ID from the URI using regex matching
285285    //  The server automatically matches URIs to templates
286286    userID  :=  extractIDFromURI (request.Params .URI )
@@ -329,7 +329,7 @@ calculatorTool := mcp.NewTool("calculate",
329329    ),
330330)
331331
332- s.AddTool (calculatorTool, func (ctx context.Context , requestContext  server.RequestContext , request mcp.CallToolRequest ) (*mcp.CallToolResult , error ) {
332+ s.AddTool (calculatorTool, func (ctx context.Context , requestSession  server.RequestSession , request mcp.CallToolRequest ) (*mcp.CallToolResult , error ) {
333333    args  :=  request.GetArguments ()
334334    op  :=  args[" operation" string )
335335    x  :=  args[" x" float64 )
@@ -373,7 +373,7 @@ httpTool := mcp.NewTool("http_request",
373373    ),
374374)
375375
376- s.AddTool (httpTool, func (ctx context.Context , requestContext  server.RequestContext , request mcp.CallToolRequest ) (*mcp.CallToolResult , error ) {
376+ s.AddTool (httpTool, func (ctx context.Context , requestSession  server.RequestSession , request mcp.CallToolRequest ) (*mcp.CallToolResult , error ) {
377377    args  :=  request.GetArguments ()
378378    method  :=  args[" method" string )
379379    url  :=  args[" url" string )
@@ -441,7 +441,7 @@ s.AddPrompt(mcp.NewPrompt("greeting",
441441    mcp.WithArgument (" name" 
442442        mcp.ArgumentDescription (" Name of the person to greet" 
443443    ),
444- ), func (ctx context.Context , requestContext  server.RequestContext , request mcp.GetPromptRequest ) (*mcp.GetPromptResult , error ) {
444+ ), func (ctx context.Context , requestSession  server.RequestSession , request mcp.GetPromptRequest ) (*mcp.GetPromptResult , error ) {
445445    name  :=  request.Params .Arguments [" name" 
446446    if  name == " " 
447447        name = " friend" 
@@ -465,7 +465,7 @@ s.AddPrompt(mcp.NewPrompt("code_review",
465465        mcp.ArgumentDescription (" Pull request number to review" 
466466        mcp.RequiredArgument (),
467467    ),
468- ), func (ctx context.Context , requestContext  server.RequestContext , request mcp.GetPromptRequest ) (*mcp.GetPromptResult , error ) {
468+ ), func (ctx context.Context , requestSession  server.RequestSession , request mcp.GetPromptRequest ) (*mcp.GetPromptResult , error ) {
469469    prNumber  :=  request.Params .Arguments [" pr_number" 
470470    if  prNumber == " " 
471471        return  nil , fmt.Errorf (" pr_number is required" 
@@ -496,7 +496,7 @@ s.AddPrompt(mcp.NewPrompt("query_builder",
496496        mcp.ArgumentDescription (" Name of the table to query" 
497497        mcp.RequiredArgument (),
498498    ),
499- ), func (ctx context.Context , requestContext  server.RequestContext , request mcp.GetPromptRequest ) (*mcp.GetPromptResult , error ) {
499+ ), func (ctx context.Context , requestSession  server.RequestSession , request mcp.GetPromptRequest ) (*mcp.GetPromptResult , error ) {
500500    tableName  :=  request.Params .Arguments [" table" 
501501    if  tableName == " " 
502502        return  nil , fmt.Errorf (" table name is required" 
@@ -531,28 +531,28 @@ Prompts can include:
531531
532532</details >
533533
534- ### RequestContext  
534+ ### requestSession  
535535<details >
536- <summary >Show RequestContext  Examples</summary >
536+ <summary >Show RequestSession  Examples</summary >
537537
538- The RequestContext  object provides capabilities to interact with the client, such as sending logging notification and progress notification.
538+ The RequestSession  object provides capabilities to interact with the client, such as sending logging notification and progress notification.
539539
540540``` go 
541- //  Example of using RequestContext  to send logging notifications and progress notifications
541+ //  Example of using RequestSession  to send logging notifications and progress notifications
542542mcpServer.AddTool (mcp.NewTool (
543-     " test-RequestContent " 
544-     mcp.WithDescription (" test RequestContent " 
545- ), func (ctx context.Context , requestContext  server.RequestContext , request mcp.CallToolRequest ) (*mcp.CallToolResult , error ) {
546- 	//  you could invoke `requestContext .IsLoggingNotificationSupported()` first the check if server supports logging notification
543+     " test-RequestSession " 
544+     mcp.WithDescription (" test RequestSession " 
545+ ), func (ctx context.Context , requestSession  server.RequestSession , request mcp.CallToolRequest ) (*mcp.CallToolResult , error ) {
546+ 	//  you could invoke `requestSession .IsLoggingNotificationSupported()` first the check if server supports logging notification
547547	//  ff server does not support logging notification, this method will do nothing.
548- 	_ = requestContext .SendLoggingNotification (ctx, mcp.LoggingLevelInfo , map [string ]any{
548+ 	_ = requestSession .SendLoggingNotification (ctx, mcp.LoggingLevelInfo , map [string ]any{
549549		" testLog" " test send log notification" 
550550	})
551551
552552	//  server should send progress notification if request metadata includes a progressToken
553553	total  :=  float64 (100 )
554554	progressMessage  :=  " human readable progress information" 
555- 	_ = requestContext .SendProgressNotification (ctx, float64 (50 ), &total, &progressMessage)
555+ 	_ = requestSession .SendProgressNotification (ctx, float64 (50 ), &total, &progressMessage)
556556
557557	return  &mcp.CallToolResult {
558558		Content: []mcp.Content {
@@ -759,7 +759,7 @@ s := server.NewMCPServer(
759759The session context is automatically passed to tool and resource handlers:
760760
761761``` go 
762- s.AddTool (mcp.NewTool (" session_aware" func (ctx context.Context , requestContext  server.RequestContext , req mcp.CallToolRequest ) (*mcp.CallToolResult , error ) {
762+ s.AddTool (mcp.NewTool (" session_aware" func (ctx context.Context , requestSession  server.RequestSession , req mcp.CallToolRequest ) (*mcp.CallToolResult , error ) {
763763    //  Get the current session from context
764764    session  :=  server.ClientSessionFromContext (ctx)
765765    if  session == nil  {
0 commit comments