# discover_tools

> List all tools, configured sources and the selected source endpoints with their parameter schemas.

URL: https://mcp-docs.opennomos.com/docs/tools/discovery/discover_tools

> List all tools, configured sources and the selected source endpoints with their parameter schemas. Credentials are omitted.

| Field | Value |
| --- | --- |
| Pack | Core (`core`) |
| Estimated cost per call | $0 |
| Monthly pack limit | none |
| Project | resolved: explicit `project` → header → credential default → workspace default |

## Parameters

This tool takes no parameters.

## Example call

```json
{}
```

REST: `POST https://service.opennomos.com/v1/tools/discover_tools` with that JSON as the body. MCP: `tools/call` with `name: "discover_tools"` and that JSON as `arguments`.

## Example result

Values are illustrative; the shape comes from the service code.

```json
{
  "tools": [
    {
      "name": "discover_tools",
      "summary": "List all tools, configured sources and the selected source endpoints with their parameter schemas"
    },
    {
      "name": "search_signals",
      "summary": "Search public conversations and the web with the caller's query"
    },
    "…"
  ],
  "sources": {
    "web": true,
    "reddit": true,
    "x": true,
    "xiaohongshu": true,
    "zhihu": true,
    "weibo": true,
    "page": true
  },
  "source_endpoints": {
    "web": {
      "id": "monid.web",
      "inputSchema": "…"
    },
    "reddit": "…"
  }
}
```

## Notes

- This is the verification call in the [Quickstart](https://mcp-docs.opennomos.com/docs/start/quickstart.md): it uses the Core pack, calls no paid provider, creates no project and writes no memory.
- `tools` only lists tools whose pack is enabled for the workspace. `sources` says whether a source has a configured upstream key (`true`/`false`).
- `summary` is the first sentence of each tool's description. Call [`inspect_tool`](https://mcp-docs.opennomos.com/docs/tools/discovery/inspect_tool.md) for the full contract.

## Errors

Rejected calls (bad input, unknown ids, rate limits) return `message` and `code`; over MCP the result has `isError: true`. See [Errors](https://mcp-docs.opennomos.com/docs/reference/errors.md).
