---
title: Connect read-only MCP tools
description: Verify standard MCP calls with the repository's reference service.
lastVerified: 2026-09-23
---

# 6.4 Connect read-only MCP tools

Verify a read-only tool before connecting a system that can write business data. This example uses the repository's public reference service. It does not read private directories or call a model.

## 1. Prepare and run protocol checks

Set up the [source development environment](https://docs.teloa.ai/markdown/en/develop/local-development.md), then run this command from the repository root:

```sh
pnpm test:references
```

The protocol tests start a real MCP service over stdio, list tools, read a reference, and verify that invalid identities, versions, and extra arguments are rejected.

The service entry point is `packages/mcp-reference/src/main.ts`. When started manually, it waits for MCP protocol messages on standard input. The absence of a normal chat prompt is expected.

## 2. Read a reference

| Tool | Arguments | Result |
| --- | --- | --- |
| `list_references` | Empty object `{}` | IDs, sources, and SHA-256 versions of available references |
| `read_reference` | `id` and `version` | Content and source for that exact version |

List references first, then use the `id` and 64-character version from the actual response to read one. Do not hard-code a version from a documentation example: the version changes when the content changes.

## 3. Check rejected requests

Calling with an unavailable reference ID should return `reference/not-found`. Calling with an old version should return `reference/version-conflict`. An extra `path` field or an arbitrary disk path is not accepted.

These checks verify the reference boundary enforced by the MCP service itself. They do not replace tests of role-level tool permissions in Teloa.

## 4. Use it in Teloa

The default composition already configures the `teloa_reference` stdio service. In **Settings**, use the runtime configuration entry to check its connection. Pause the relevant colleague before editing its tool permissions, then grant read access to the reference using the candidates shown on the page. Resume the colleague afterward. The full protocol tool names are `mcp__teloa_reference__list_references` and `mcp__teloa_reference__read_reference`.

Without permission, a call made in a role task should be rejected. After granting permission, retry the same reference task and inspect the tool records. Ordinary conversations and role tasks have different contexts. Testing only an ordinary conversation does not establish that role authorization works throughout the execution path.

For a new service, use the transport, authentication, and credential fields available in the current DSH configuration page. This guide verifies the stdio path; it does not claim that every remote transport and authentication combination has been tested.
