Skip to content

[FEATURE] Add metadata RPC support for namespace index registration #382

Description

@SophiaUgo

Background

The MCP server work tracked in (#354) exposes the existing read-only agent surface over a standard transport, allowing remote clients to query namespace metadata through the existing AgentNamespace interface.

Namespace index registration, however, remains available only through the embedded NoKvFs::register_namespace_index() implementation. Remote deployments can query existing indexes, but there is currently no corresponding metadata RPC operation for registering or updating them.

As a result, namespace index registration is currently available only to embedded deployments, creating a capability gap between embedded and remote metadata services.

Relevant code

  • crates/nokv-meta/src/service/agent.rs
    • register_namespace_index()
  • crates/nokv-protocol/src/lib.rs
    • MetadataRpcRequest
  • crates/nokv-client/src/agent.rs
  • docs/development/nokv-agent.md
  • bench/src/bin/yanex-agent-bench.rs

Proposed scope

Introduce a metadata RPC path for namespace index registration so that remote metadata clients can register namespace indexes in the same way embedded deployments currently can.

The implementation should preserve the existing behaviour and validation of register_namespace_index() while extending the metadata RPC surface with the necessary protocol, client, and server support.

The goal is to make the existing capability available to remote deployments without changing its semantics.

Non-goals

  • No changes to the existing AgentNamespace read-only surface.
  • No new write verbs for MCP or agent-facing tools.
  • No changes to the behaviour of register_namespace_index().
  • No changes to namespace index query behaviour.

Possible implementation

  • Add a RegisterNamespaceIndex request to MetadataRpcRequest.
  • Implement the corresponding server-side metadata handler.
  • Add the corresponding client-side RPC support.
  • Preserve the existing validation and metadata predicate fencing behaviour.
  • Add integration or regression tests covering remote namespace index registration.

This proposal intentionally focuses on the metadata RPC layer. It does not propose exposing namespace index registration through the existing read-only AgentNamespace interface.

Open questions

  • Should namespace index registration remain outside AgentNamespace as a metadata-management operation?
  • Should the network path preserve the same validation and durability guarantees as the embedded implementation?
  • Are there deployment or permission considerations that should influence how namespace index registration is exposed remotely?

Status

Proposed.

This issue is intended as a follow-up to the discussion during #354, where network namespace index registration was identified as a v1 constraint for the initial MCP implementation.

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions