MCP ExplorerExplorer

Naivecontextprotocol

@naivecontextprotocolon 10 months ago
2 MIT
FreeCommunity
AI Systems
#agent#llm#mcp
Naive Context Protocol

Overview

What is Naivecontextprotocol

Naive Context Protocol (NCP) is a specification designed to address the context problem for large language models, aiming to provide a simpler and more effective alternative to the Model Context Protocol (MCP).

Use cases

Use cases for NCP include creating tools for resource management, prompt handling, and real-time communication in AI applications, as well as serving as a backend for MCP servers to enhance adoption.

How to use

To use NCP, implement the OpenAPI specification provided in the ncp-tools.json file, which defines the available tools and their endpoints. You can host this specification on a basic HTTP server and utilize JSON Schema for tool definitions.

Key features

Key features of NCP include simplicity in implementation, adherence to existing standards and best practices, compatibility with basic HTTP servers, and a community-driven approach for contributions and improvements.

Where to use

NCP can be used in various fields such as natural language processing, AI development, and any application that requires context management for large language models.

Content

Naive Context Protocol

This is a single-page spec for solving the context problem for large language models.

Why?

I realize this is a competing standard to Model Context Protocol,
but after spending many hours implementing “simple” MCP servers and following the development of the protocol,
I think MCP sucks, so I started making NCP everything I believe, MCP should’ve been.

Feedback & contribution welcome.

Goals:

  • Simple to implement
  • Use existing standards and best practices
  • Hostable on a basic HTTP server
  • Community driven

Standard

Spec

  • Use OpenAPI for tool discovery (by default hosted on /.well-known/ncp-tools.json but can be configured on the client)
  • Use JSON Schema for tool definition (With OpenAPI)
  • Use HTTP for tool calling
  • Use OpenAPI for defining Authorization

ncp-tools.json is an OpenAPI specification for the tools that are available on this server
and how to call them.

Resources

Within the ncp-tools.json, use OpenAPI tags:

  • resource_list to annotate the endpoint for listing resources
  • resource_read to annotate the endpoint for fetching the resource

Prompts

Within the ncp-tools.json use OpenAPI tags:

  • prompt_list to annotate the endpoint for listing prompts
  • prompt_read to annotate the endpoint for fetching the prompt

Contribution

Please create a pull request.

Tasks:

  • [ ] Define the input & output for resource endpoints
  • [ ] Define the input & output for the prompt endpoints
  • [ ] Add examples to the spec
  • [ ] Explain the advantages
  • [ ] Add a section for real-time communication
  • [ ] Make an example server (hosted)
  • [ ] Make an MCP server that uses NCP behind the scene to make adoption easier
  • [ ] Expand on the Authorization
  • [ ] Create a reference implementation (if needed)

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers