{"id":"ajobs-coding-mcp-server","name":"mcp-server","homepage":null,"repo_url":"https://github.com/AJobs-coding/mcp-server","category":"infrastructure","subcategories":[],"tags":["mcp","model-context-protocol","sse","spring-ai","java","transport","sessions"],"what_it_does":"Provides an MCP server implementation integrated with Spring AI/Spring (notably via an SSE transport) and discusses custom behavior for SSE session handling, session close/cleanup, and compatibility with MCP clients (including Java SDK clients).","use_cases":["Building MCP servers with Spring-based transports","SSE-based MCP message streaming/transport","Maintaining/closing MCP sessions for long-lived clients","Customizing session lifecycle (timeouts, manual message-driven cleanup)","Mitigating session/memory leak issues caused by client/server restarts"],"not_for":["Public internet deployments without proper auth/rate limiting and session isolation","Use cases requiring strongly defined REST/typed API contracts (OpenAPI)","Environments where SSE long-lived connections are not acceptable"],"best_when":"You control both the MCP client and server deployment topology and need SSE transport with session lifecycle management.","avoid_when":"You cannot provide strong authentication/authorization and operational controls around long-lived SSE connections.","alternatives":["Other MCP server implementations (non-Spring) with better-documented transports","REST/WebSocket-based custom transports for MCP","Use vendor/official MCP server frameworks with documented session semantics"],"af_score":33.2,"security_score":36.5,"reliability_score":30.0,"package_type":"mcp_server","discovery_source":["github"],"priority":"low","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-04-04T21:19:53.767267+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":true,"sdk_languages":["Java"],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":[],"oauth":false,"scopes":false,"notes":"The README content discusses transport/session customization but does not describe authentication mechanisms. Auth readiness is therefore treated as unknown/unspecified."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"No pricing information provided (appears to be an open-source/server component)."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":33.2,"security_score":36.5,"reliability_score":30.0,"mcp_server_quality":72.0,"documentation_accuracy":35.0,"error_message_quality":null,"error_message_notes":"Content notes observed behaviors like SSE connection errors and 404 during server restart, but does not document error codes/semantics for agent retry logic.","auth_complexity":40.0,"rate_limit_clarity":0.0,"tls_enforcement":60.0,"auth_strength":25.0,"scope_granularity":20.0,"dependency_hygiene":35.0,"secret_handling":45.0,"security_notes":"The provided content does not specify auth, TLS requirements, scope model, or secret-handling practices. SSE endpoints and session IDs introduce attack surface (session hijacking/connection abuse) unless protected by strong authentication and access controls. The uniqueness of clientId in SSE endpoint is mentioned as a mitigation for session overwrites, but it also implies user-controlled query parameters should be validated to prevent cross-client session interference.","uptime_documented":0.0,"version_stability":45.0,"breaking_changes_history":20.0,"error_recovery":55.0,"idempotency_support":"false","idempotency_notes":"No explicit idempotency guidance for session/close/reconnect operations.","pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["SSE transport/session lifecycle is sensitive to server restarts and client reconnection behavior","Memory leaks can occur if sessions are not cleaned up; uniqueness of SSE endpoint identifiers (e.g., clientId query) is used as a mitigation","Client must implement fallback polling/reinitialization when the server returns errors during restarts (e.g., 404)","Session parameters may not apply unless custom properties/overrides are implemented (baseUrl, sseMessageEndpoint issues mentioned)"]}}