<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: VinayKumar KsheeraSagar</title>
    <description>The latest articles on DEV Community by VinayKumar KsheeraSagar (@vinay_kumarks_9d8ca4e45).</description>
    <link>https://dev.to/vinay_kumarks_9d8ca4e45</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2791102%2F074e1368-409c-4943-8643-a16030c458c6.jpg</url>
      <title>DEV Community: VinayKumar KsheeraSagar</title>
      <link>https://dev.to/vinay_kumarks_9d8ca4e45</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vinay_kumarks_9d8ca4e45"/>
    <language>en</language>
    <item>
      <title>[Boost]</title>
      <dc:creator>VinayKumar KsheeraSagar</dc:creator>
      <pubDate>Mon, 21 Sep 2026 13:52:55 +0000</pubDate>
      <link>https://dev.to/vinay_kumarks_9d8ca4e45/-5dm8</link>
      <guid>https://dev.to/vinay_kumarks_9d8ca4e45/-5dm8</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/vinay_kumarks_9d8ca4e45/why-ai-agents-need-verifiable-evidence-building-an-mcp-native-retrieval-engine-with-postgresql-4b1o" class="crayons-story__hidden-navigation-link"&gt;Why AI Agents Need Verifiable Evidence: Building an MCP-Native Retrieval Engine with PostgreSQL&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/vinay_kumarks_9d8ca4e45" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2791102%2F074e1368-409c-4943-8643-a16030c458c6.jpg" alt="vinay_kumarks_9d8ca4e45 profile" class="crayons-avatar__image" width="96" height="96"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/vinay_kumarks_9d8ca4e45" class="crayons-story__secondary fw-medium m:hidden"&gt;
              VinayKumar KsheeraSagar
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                VinayKumar KsheeraSagar
                
                
              
              &lt;div id="story-author-preview-content-4681185" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/vinay_kumarks_9d8ca4e45" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2791102%2F074e1368-409c-4943-8643-a16030c458c6.jpg" class="crayons-avatar__image" alt="" width="96" height="96"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;VinayKumar KsheeraSagar&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/vinay_kumarks_9d8ca4e45/why-ai-agents-need-verifiable-evidence-building-an-mcp-native-retrieval-engine-with-postgresql-4b1o" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Sep 18&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/vinay_kumarks_9d8ca4e45/why-ai-agents-need-verifiable-evidence-building-an-mcp-native-retrieval-engine-with-postgresql-4b1o" id="article-link-4681185"&gt;
          Why AI Agents Need Verifiable Evidence: Building an MCP-Native Retrieval Engine with PostgreSQL
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/mcp"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;mcp&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/python"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;python&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/opensource"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;opensource&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
            &lt;a href="https://dev.to/vinay_kumarks_9d8ca4e45/why-ai-agents-need-verifiable-evidence-building-an-mcp-native-retrieval-engine-with-postgresql-4b1o#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              1&lt;span class="hidden s:inline"&gt;&amp;nbsp;comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            3 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Hybrid retrieval in one Postgres query: RRF over tsvector + pgvector</title>
      <dc:creator>VinayKumar KsheeraSagar</dc:creator>
      <pubDate>Mon, 21 Sep 2026 12:15:58 +0000</pubDate>
      <link>https://dev.to/vinay_kumarks_9d8ca4e45/hybrid-retrieval-in-one-postgres-query-rrf-over-tsvector-pgvector-2hm</link>
      <guid>https://dev.to/vinay_kumarks_9d8ca4e45/hybrid-retrieval-in-one-postgres-query-rrf-over-tsvector-pgvector-2hm</guid>
      <description>&lt;p&gt;&lt;strong&gt;Dense vector search&lt;/strong&gt; is great until your agent asks for parseAuthHeader and gets back three chunks about "authentication token handling" — semantically close, functionally useless. Same story with file paths, error codes, and compliance clause numbers. These are lexical needles, and embeddings blur them.&lt;/p&gt;

&lt;p&gt;This isn't a niche complaint. XERJ has been picking up steam on the strength of "stop making agents grep," and Volcengine's OpenViking has ~38k stars for treating agent context as structured, addressable storage rather than a vector dump. Both are good. Both are also new infrastructure you now operate. XERJ in particular already does hybrid BM25 + kNN with RRF — if you're greenfield and happy to run a dedicated engine, genuinely go look at it.&lt;/p&gt;

&lt;p&gt;I had a constraint they don't solve for: the evidence had to live in the same transaction as the data it describes, in a database my team already backs up and already knows how to restore at 3am.&lt;/p&gt;

&lt;p&gt;The usual fix is to bolt on BM25 from a dedicated search service, then fuse results in application code. That means a second stateful cluster: its own backups, its own failure modes, and no transactional guarantee that your index agrees with your source of truth.&lt;/p&gt;

&lt;p&gt;I wanted to know how far Postgres 16 + pgvector could get on its own. Turns out: all the way.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9sqpn07mk3buxovekedd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9sqpn07mk3buxovekedd.png" alt="One engine - two retrieval paths" width="800" height="466"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;One engine, two retrieval paths&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Knowledge Fabric runs full-text search over tsvector and dense search over an HNSW index in the same database, then fuses the two ranked lists with Reciprocal Rank Fusion:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="n"&gt;score&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;60&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;rank_lexical&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;60&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;rank_vector&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;**&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;RRF only needs ranks, not scores, so you skip the entire problem of normalizing BM25 against cosine similarity. A chunk that places top-3 on both paths wins. A chunk that's #1 lexically and invisible semantically still surfaces — which is exactly what you want when the query is a function name.&lt;/p&gt;

&lt;p&gt;One query. One backup. One consistency model.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Evidence you can verify, not just text you hope is right&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This part matters more than it sounds. In an agentic setup, retrieved text isn't just context — it's the authorization premise for a state-changing tool call. If the agent reads a policy chunk and then executes a deploy, something needs to prove that chunk wasn't tampered with.&lt;/p&gt;

&lt;p&gt;Every chunk gets a deterministic SHA-256 hash and a composite provenance digest, canonicalized per RFC 8785 so byte-level serialization differences don't produce different hashes for identical content. A downstream policy layer can then verify the agent acted on authentic evidence before approving execution.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;It's an MCP server&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;retrieve_evidence, get_document, explain_retrieval — bounded tools over stdio and HTTP via FastMCP. Works with Claude Code, Cursor, or your own harness. explain_retrieval exists because "why did it return that?" is a question you will ask roughly forty times in week one.&lt;/p&gt;

&lt;p&gt;Docker Compose quickstart, benchmarks, and the full implementation: &lt;a href="https://github.com/sagarv48/knowledge-fabric" rel="noopener noreferrer"&gt;https://github.com/sagarv48/knowledge-fabric&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you've tuned RRF in production — did you keep k at 60, or did you find your corpus wanted something different? I'm curious whether the default holds up on codebases with heavy identifier repetition.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>postgressql</category>
      <category>opensource</category>
      <category>mcp</category>
    </item>
    <item>
      <title>Why AI Agents Need Verifiable Evidence: Building an MCP-Native Retrieval Engine with PostgreSQL</title>
      <dc:creator>VinayKumar KsheeraSagar</dc:creator>
      <pubDate>Fri, 18 Sep 2026 04:59:50 +0000</pubDate>
      <link>https://dev.to/vinay_kumarks_9d8ca4e45/why-ai-agents-need-verifiable-evidence-building-an-mcp-native-retrieval-engine-with-postgresql-4b1o</link>
      <guid>https://dev.to/vinay_kumarks_9d8ca4e45/why-ai-agents-need-verifiable-evidence-building-an-mcp-native-retrieval-engine-with-postgresql-4b1o</guid>
      <description>&lt;h1&gt;
  
  
  Why standard RAG fails agentic workflows, and how we built &lt;a href="https://github.com/sagarv48/knowledge-fabric" rel="noopener noreferrer"&gt;Knowledge Fabric&lt;/a&gt; using PostgreSQL, pgvector, and FastMCP.
&lt;/h1&gt;

&lt;p&gt;Most Retrieval-Augmented Generation (RAG) setups treat context retrieval as a simple black box: prompt in, cosine similarity ranking, top-k text dump out.&lt;/p&gt;

&lt;p&gt;In conversational chatbots, a slightly noisy chunk is usually harmless. But in agentic architectures—where models make tool calls, plan execution steps, and trigger real-world actions—retrieval without provenance is a major vulnerability. If an agent cannot verify where an excerpt originated, what version of a document it reflects, or whether the text was modified, policy checks fail and downstream execution becomes unreliable.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftzr2ngrkuufzn2f1dn34.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftzr2ngrkuufzn2f1dn34.png" alt="Knowledge Fabric &amp;amp; Intent Fabric" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To address this, we built Knowledge Fabric: an open-source, vendor-neutral evidence retrieval engine designed natively for the Model Context Protocol (MCP) and built on PostgreSQL with pgvector.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Problem: Naive RAG vs. Agentic Evidence
&lt;/h3&gt;

&lt;p&gt;When an agent needs context to answer an enterprise query or decide on an action, standard vector stores present three common issues:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Exact-Term Blind Spots: Pure dense vector search often misses exact identifiers (e.g., invoice IDs, function signatures, error codes).&lt;/li&gt;
&lt;li&gt;Missing Citations &amp;amp; Provenance: Agents receive text strings without cryptographic hashing, source revision IDs, or bounding offsets.&lt;/li&gt;
&lt;li&gt;Bloated Context Windows: Shoveling sprawling context into prompts increases latency and token costs while confusing agent decision boundaries.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Architectural Design: The Three-Tier Fabric
&lt;/h3&gt;

&lt;p&gt;Rather than building an all-in-one monolith that handles planning, retrieval, and write executions simultaneously, we separate concerns into three distinct roles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Knowledge Fabric (The Librarian): Collects, indexes, searches, and provides verifiable evidence packages with clear citations.&lt;/li&gt;
&lt;li&gt;Intent Fabric (The Planner &amp;amp; Referee): Translates user intent and evidence into policy-validated plans.&lt;/li&gt;
&lt;li&gt;Enterprise Adapters (The Controlled Doors): Read from external systems and execute approved write mutations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Workflow:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7phdxbc2binbp7wmeso0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7phdxbc2binbp7wmeso0.png" alt="Work Flows" width="500" height="301"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Storage Engine: Standard Infrastructure First
&lt;/h3&gt;

&lt;p&gt;We deliberately avoided introducing custom daemons or proprietary vector databases. Knowledge Fabric is built directly on PostgreSQL + pgvector:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hybrid Search with Reciprocal Rank Fusion (RRF): Fuses PostgreSQL BM25-style lexical search (tsvector) with semantic vector embeddings (pgvector) to ensure exact keyword recall alongside conceptual relevance.&lt;/li&gt;
&lt;li&gt;Evidence Packaging: Every retrieved passage includes document URI, offset boundaries, chunk hash, and retrieval explanation metadata.&lt;/li&gt;
&lt;li&gt;Native FastMCP Interface: Exposes retrieval directly over stdio and HTTP endpoints for Claude Code, Cursor, Codex, and custom agent harnesses.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  FastMCP Tool Surface
&lt;/h3&gt;

&lt;p&gt;Knowledge Fabric exposes five core MCP tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;retrieve_evidence: Performs hybrid search and returns bounded, cited evidence packages.&lt;/li&gt;
&lt;li&gt;get_document: Fetches full document content and metadata by ID or URI.&lt;/li&gt;
&lt;li&gt;list_sources: Inspects currently indexed collections and document trees.&lt;/li&gt;
&lt;li&gt;explain_retrieval: Returns the scoring breakdown (lexical vs. vector RRF ranks) for an evidence query.&lt;/li&gt;
&lt;li&gt;health: Confirms database connectivity and vector index status.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3-Minute Quickstart
&lt;/h3&gt;

&lt;p&gt;You can test Knowledge Fabric locally using Docker Compose:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Clone and launch PostgreSQL with pgvector:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/sagarv48/knowledge-fabric.git
&lt;span class="nb"&gt;cd &lt;/span&gt;knowledge-fabric
docker compose up &lt;span class="nt"&gt;-d&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Install dependencies &amp;amp; initialize the database:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python &lt;span class="nt"&gt;-m&lt;/span&gt; venv .venv
&lt;span class="nb"&gt;source&lt;/span&gt; .venv/bin/activate
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;
python &lt;span class="nt"&gt;-m&lt;/span&gt; knowledge_fabric.cli init-db
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Run the FastMCP Server:
&lt;code&gt;python -m knowledge_fabric.mcp.server&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can now add the server to your Claude Desktop or Cursor MCP configuration:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"knowledge-fabric"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"python"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"-m"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"knowledge_fabric.mcp.server"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"env"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"DATABASE_URL"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"postgresql://postgres:postgres@localhost:5432/knowledge_fabric"&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  What's Next &amp;amp; Getting Involved
&lt;/h3&gt;

&lt;p&gt;Knowledge Fabric is early and actively developed. We are currently refining local embedding pipelines (Ollama integration) and chunking strategies.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub Repository: &lt;a href="https://github.com/sagarv48/knowledge-fabric" rel="noopener noreferrer"&gt;https://github.com/sagarv48/knowledge-fabric&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Roadmap &amp;amp; Issues: Check out our open issues for connector ideas and hybrid search tuning.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you are building with MCP or experimenting with agent architectures, I would love to hear how you currently tackle citation and evidence verification in your workflows!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>python</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
