io.github.OneNicolas/mcp-service-public
Service Public France
French public services: tax, property, admin, education, healthcare, security, risks, legal texts
Status
Healthy
Score
72.6
Transport
streamable-http
Tools
38
Production readiness
Verdict
Needs remediation
Current validation evidence shows operational or discovery gaps that should be fixed first.
Critical alerts
0
Production verdicts degrade quickly when critical alerts are active.
Evidence confidence
Confidence score
65.0
Based on 20 recent validations, 26 captured checks, and validation age of 605.0 hours.
Live checks captured
26
More direct checks increase trust in the current verdict.
Validation age
605.0h
Lower age means fresher evidence.
Recommended for
Claude Desktop
Claude Desktop is marked compatible with score 83.
Smithery
Smithery is marked compatible with score 100.
Generic Streamable HTTP
Generic Streamable HTTP is marked compatible with score 100.
Client readiness verdicts
Ready for ChatGPT custom connector
Partial
OpenAI connectors expect OAuth for remote server auth.; Dynamic client registration materially improves connector setup.; Transport compliance should be in good shape.
Confidence: medium (65.0)
Evidence provenance
Winner: live_validation
Supporting sources: live_validation, history, server_card
Disagreements: none
initialize• OKtools_list• OKtransport_compliance_probe• Errorstep_up_auth_probe• Missingconnector_replay_probe• OK — Frozen tool snapshots must survive refresh.request_association_probe• Missing — Roots, sampling, and elicitation should stay request-scoped.
Ready for Claude remote MCP
Ready
Transport behavior should match Claude-compatible HTTP expectations.
Confidence: medium (65.0)
Evidence provenance
Winner: live_validation
Supporting sources: live_validation, history, server_card
Disagreements: none
initialize• OKtools_list• OKtransport_compliance_probe• Error
Unsafe for write actions
Yes
High-risk write, exec, or destructive tools need stronger auth and confirmation semantics.
Confidence: medium (65.0)
Evidence provenance
Winner: live_validation
Supporting sources: live_validation, history
Disagreements: none
action_safety_probe• Error
Snapshot churn risk
Low
No material tool-surface churn detected in the latest comparison.
Confidence: medium (65.0)
Evidence provenance
Winner: history
Supporting sources: history, live_validation
Disagreements: none
tool_snapshot_probe• OKconnector_replay_probe• OK
Why not ready by client
ChatGPT custom connector
Partial
Remediation checklist
- No explicit blockers recorded.
Claude remote MCP
Ready
Remediation checklist
- No explicit blockers recorded.
Write-safe publishing
Blocked
Remediation checklist
- No explicit blockers recorded.
Verdict traces
Production verdict
Needs remediation
Current validation evidence shows operational or discovery gaps that should be fixed first.
Confidence: medium (65.0)
Winning source: live_validation
Triggering alerts
validation_stale• medium • Validation evidence is stale
Client verdict trace table
| Verdict | Status | Checks | Winning source | Conflicts |
|---|---|---|---|---|
openai_connectors |
Partial | initialize, tools_list, transport_compliance_probe, step_up_auth_probe, connector_replay_probe, request_association_probe | live_validation | none |
claude_desktop |
Ready | initialize, tools_list, transport_compliance_probe | live_validation | none |
unsafe_for_write_actions |
Yes | action_safety_probe | live_validation | none |
snapshot_churn_risk |
Low | tool_snapshot_probe, connector_replay_probe | history | none |
Publishability policy profiles
ChatGPT custom connector publishability
Caution
OpenAI connectors expect OAuth for remote server auth.; Dynamic client registration materially improves connector setup.; Transport compliance should be in good shape.
- Search Fetch Only: No
- Write Actions Present: Yes
- Oauth Configured: No
- Admin Refresh Required: No
- Safe For Company Knowledge: No
- Safe For Messages Api Remote Mcp: No
Claude remote MCP publishability
Ready
Transport behavior should match Claude-compatible HTTP expectations.
- Search Fetch Only: No
- Write Actions Present: Yes
- Oauth Configured: No
- Admin Refresh Required: No
- Safe For Company Knowledge: No
- Safe For Messages Api Remote Mcp: No
Compatibility fixtures
ChatGPT custom connector fixture
Degraded
OpenAI connectors expect OAuth for remote server auth.; Dynamic client registration materially improves connector setup.; Transport compliance should be in good shape.
- remote_http_endpoint: Passes
- oauth_discovery: Degraded
- frozen_tool_snapshot_refresh: Passes
- request_association: Passes
Anthropic remote MCP fixture
Degraded
Transport behavior should match Claude-compatible HTTP expectations.
- remote_transport: Passes
- tool_discovery: Passes
- auth_connect: Passes
- safe_write_review: Degraded
Authenticated validation sessions
Latest profile
remote_mcp
Authenticated session used
Public score isolation
Preview endpoint
/v1/verifyCI preview endpoint
/v1/ci/previewPublic server reputation
Validation success 7d
n/a
Validation success 30d
1.0
Mean time to recover
n/a
Breaking diffs 30d
0
Registry drift frequency 30d
0
Snapshot changes 30d
0
Incident & change feed
| Timestamp | Event | Details |
|---|---|---|
| Apr 09, 2026 12:53:46 AM UTC | Latest validation: healthy | Score 72.6 with status healthy. |
Capabilities
- OAuth:
- DCR/CIMD:
- Prompts:
- Homepage: https://mcp-service-public.nhaultcoeur.workers.dev
- Docs: none
- Support: none
- Icon: none
- Remote endpoint: https://mcp-service-public.nhaultcoeur.workers.dev/mcp
- Server card: none
Use-case taxonomy
development communication security finance
Security posture
Tools analyzed
38
High-risk tools
10
Destructive tools
0
Exec tools
4
Egress tools
1
Secret tools
4
Bulk-access tools
21
Risk distribution
low:4, medium:24, high:10
Tool capability & risk inventory
| Tool | Capabilities | Risk | Findings | Notes |
|---|---|---|---|---|
rechercher |
read write exec network export | High | command execution bulk data access freeform input surface | No explicit safeguard hints detected. |
rechercher_fiche |
read exec admin export | High | command execution bulk data access freeform input surface | No explicit safeguard hints detected. |
lire_fiche |
other | Low | none | No explicit safeguard hints detected. |
rechercher_service_local |
write admin export | High | bulk data access freeform input surface admin mutation | No explicit safeguard hints detected. |
naviguer_themes |
read | Low | none | No explicit safeguard hints detected. |
consulter_fiscalite_locale |
read write | Medium | freeform input surface | No explicit safeguard hints detected. |
rechercher_doctrine_fiscale |
read exec export | High | command execution bulk data access freeform input surface | No explicit safeguard hints detected. |
consulter_transactions_immobilieres |
write | Medium | freeform input surface | No explicit safeguard hints detected. |
simuler_taxe_fonciere |
write | Medium | freeform input surface | No explicit safeguard hints detected. |
simuler_frais_notaire |
write network | Medium | none | No explicit safeguard hints detected. |
consulter_zonage_immobilier |
write | Medium | freeform input surface | No explicit safeguard hints detected. |
comparer_communes |
read write network | Medium | none | No explicit safeguard hints detected. |
simuler_impot_revenu |
other | Low | none | No explicit safeguard hints detected. |
rechercher_convention_collective |
read exec export | High | command execution bulk data access freeform input surface | No explicit safeguard hints detected. |
rechercher_entreprise |
network | Medium | none | No explicit safeguard hints detected. |
rechercher_etablissement_scolaire |
write export | Medium | bulk data access freeform input surface | No explicit safeguard hints detected. |
consulter_resultats_lycee |
write secrets export | High | bulk data access secret material access freeform input surface | No explicit safeguard hints detected. |
consulter_evaluations_nationales |
write | Medium | freeform input surface | No explicit safeguard hints detected. |
consulter_parcoursup |
write secrets export | High | bulk data access secret material access freeform input surface | No explicit safeguard hints detected. |
consulter_parcoursup_stats |
write export | Medium | bulk data access freeform input surface | No explicit safeguard hints detected. |
consulter_acces_soins |
read write filesystem | Medium | freeform input surface filesystem mutation | No explicit safeguard hints detected. |
consulter_insertion_professionnelle |
export | Medium | bulk data access freeform input surface | No explicit safeguard hints detected. |
consulter_securite |
write network | Medium | freeform input surface | No explicit safeguard hints detected. |
consulter_risques_naturels |
read write | Medium | freeform input surface | No explicit safeguard hints detected. |
rechercher_texte_legal |
export | Medium | bulk data access | No explicit safeguard hints detected. |
rechercher_code_juridique |
network export | Medium | bulk data access freeform input surface | No explicit safeguard hints detected. |
consulter_journal_officiel |
export | Medium | bulk data access | No explicit safeguard hints detected. |
consulter_aide_sociale |
write | Medium | freeform input surface | No explicit safeguard hints detected. |
rechercher_marche_public |
export | Medium | bulk data access | No explicit safeguard hints detected. |
consulter_budget_epci |
read | Low | freeform input surface | No explicit safeguard hints detected. |
consulter_budget_commune |
read write | Medium | freeform input surface | No explicit safeguard hints detected. |
rechercher_subvention |
export | Medium | bulk data access | No explicit safeguard hints detected. |
consulter_sirene_historique |
write export | Medium | bulk data access freeform input surface | No explicit safeguard hints detected. |
rechercher_annonce_legale |
export | Medium | bulk data access | No explicit safeguard hints detected. |
rechercher_offre_emploi |
write secrets export | High | bulk data access secret material access freeform input surface | No explicit safeguard hints detected. |
consulter_prix_carburant |
write export | Medium | bulk data access freeform input surface | No explicit safeguard hints detected. |
rechercher_formation |
secrets export | High | bulk data access secret material access freeform input surface | No explicit safeguard hints detected. |
rechercher_jurisprudence |
network export | High | arbitrary network egress bulk data access | No explicit safeguard hints detected. |
Write-action governance
Governance status
Error
Safe to publish
Auth boundary
public_or_unclear
Blast radius
High
High-risk tools
10
Confirmation signals
none
Safeguard count
0
Status detail: 10 high-risk tool(s), 4 exec-capable tool(s) are exposed without a clear auth boundary; no safeguards or confirmation signals detected.
| Tool | Risk | Flags | Safeguards |
|---|---|---|---|
rechercher |
High | command execution bulk data access freeform input surface | no |
rechercher_fiche |
High | command execution bulk data access freeform input surface | no |
rechercher_service_local |
High | bulk data access freeform input surface admin mutation | no |
rechercher_doctrine_fiscale |
High | command execution bulk data access freeform input surface | no |
rechercher_convention_collective |
High | command execution bulk data access freeform input surface | no |
consulter_resultats_lycee |
High | bulk data access secret material access freeform input surface | no |
consulter_parcoursup |
High | bulk data access secret material access freeform input surface | no |
rechercher_offre_emploi |
High | bulk data access secret material access freeform input surface | no |
rechercher_formation |
High | bulk data access secret material access freeform input surface | no |
rechercher_jurisprudence |
High | arbitrary network egress bulk data access | no |
Action-controls diff
Snapshot changed
no
Disabled-by-default candidates
none
Manual review candidates
none
New actions
| Action | Risk | Flags |
|---|---|---|
| No newly added actions. | ||
Changed actions
| Action | Change types | Risk |
|---|---|---|
| No materially changed actions. | ||
Why this score?
Access & Protocol
30/44
Connectivity, auth, and transport expectations for common clients.
Interface Quality
36.83/56
How well the tool/resource interface communicates and behaves under automation.
Security Posture
23/36
How safely the exposed tool surface handles destructive actions, egress, execution, secrets, and risky inputs.
Reliability & Trust
24/24
Operational stability, consistency, and trustworthiness over time.
Discovery & Governance
22.5/28
How well the server is documented, listed, and governed in public registries.
Adoption & Market
6/8
Adoption clues and public evidence that the server is intended for external use.
Algorithmic score breakdown
Auth Operability
2/4
Measures whether auth discovery and protected access behave predictably for clients.
Error Contract Quality
2.8/4
Grades machine-readable error structure, status alignment, and remediation hints.
Rate-Limit Semantics
2/4
Checks whether quota/throttle responses are deterministic and automation-friendly.
Schema Completeness
2/4
Completeness of tool descriptions, parameter docs, examples, and schema shape.
Backward Compatibility
4/4
Stability score across tool schema/name drift relative to prior validations.
SLO Health
4/4
Availability, latency, and burst-failure profile across recent validation history.
Security Hygiene
4/4
HTTPS posture, endpoint hygiene, and response-surface hardening checks.
Task Success
4/4
Can an agent reliably initialize, enumerate tools, and execute core MCP flows?
Trust Confidence
4/4
Confidence-adjusted reliability score that penalizes low evidence volume.
Abuse/Noise Resilience
4/4
How well the server preserves core behavior in the presence of noisy traffic patterns.
Prompt Contract
2/4
Quality of prompt metadata, argument shape, and prompt discoverability for clients.
Resource Contract
2/4
How completely resources and resource templates describe URIs, types, and usage shape.
Discovery Metadata
4/4
Homepage, docs, icon, repository, support, and license coverage for directory consumers.
Registry Consistency
2/4
Agreement between stored registry metadata, live server-card data, and current validation output.
Installability
4/4
How cleanly a real client can connect, initialize, enumerate tools, and proceed through auth.
Session Semantics
4/4
Determinism and state behavior across repeated MCP calls, including sticky-session surprises.
Tool Surface Design
3/4
Naming clarity, schema ergonomics, and parameter complexity across the tool surface.
Result Shape Stability
3/4
Stability of declared output schemas across validations, with penalties for drift or missing shapes.
OAuth Interop
3/4
Depth and client compatibility of OAuth/OIDC metadata beyond the minimal protected-resource check.
Recovery Semantics
0/4
Whether failures include actionable machine-readable next steps such as retry or upgrade guidance.
Maintenance Signal
4/4
Versioning, update recency, and historical validation cadence that indicate active stewardship.
Adoption Signal
3/4
Directory presence and distribution clues that suggest the server is intended for external use.
Freshness Confidence
4/4
Confidence that recent validations are current enough and dense enough to trust operationally.
Transport Fidelity
4/4
Whether declared transport metadata matches the observed endpoint behavior and response formats.
Spec Recency
2/4
How close the server’s claimed MCP protocol version is to the latest known public revision.
Session Resume
3/4
Whether Streamable HTTP session identifiers and resumed requests behave cleanly for real clients.
Step-Up Auth
3/4
Whether OAuth metadata and WWW-Authenticate challenges support granular, incremental consent instead of broad upfront scopes.
Transport Compliance
0/4
Checks session headers, protocol-version enforcement, session teardown, and expired-session behavior.
Utility Coverage
2/4
Signals support for completions, pagination, and task-oriented utility surfaces that larger clients increasingly expect.
Advanced Capability Coverage
2/4
Coverage of newer MCP surfaces like roots, sampling, elicitation, structured output, and related metadata.
Connector Publishability
3/4
How ready the server looks for client catalogs and managed connector programs.
Tool Snapshot Churn
4/4
Stability of the tool surface across recent validations, including add/remove and output-shape drift.
Connector Replay
4/4
Whether a previously published frozen connector snapshot would remain backward compatible after the latest tool refresh.
Request Association
3/4
Whether roots, sampling, and elicitation appear tied to active client requests instead of arriving unsolicited on idle sessions.
Interactive Flow Safety
3/4
Whether prompts and docs steer users toward safe auth flows instead of pasting secrets directly.
Action Safety
2/4
Risk-weighted view of destructive, exec, egress, and confirmation semantics across the tool surface.
Official Registry Presence
4/4
Whether the server appears directly or indirectly in the official MCP registry.
Provenance Divergence
4/4
How closely official registry metadata, the live server card, and public repo/package signals agree with each other.
Safety Transparency
2/4
Clarity of docs, auth disclosure, support links, and other trust signals visible to integrators.
Tool Capability Clarity
4/4
How clearly the tool surface communicates whether each action reads, writes, deletes, executes, or exports data.
Destructive Operation Safety
3/4
Penalizes delete/revoke/destroy style tools unless auth and safeguards reduce blast radius.
Egress / SSRF Resilience
2/4
Assesses arbitrary URL fetch, crawl, webhook, and remote-request exposure on the tool surface.
Execution / Sandbox Safety
0/4
Evaluates shell, code, script, and command-execution exposure and whether that surface appears contained.
Data Exfiltration Resilience
3/4
Assesses export, dump, backup, and bulk-read behavior against the surrounding auth and safeguard signals.
Least Privilege Scope
2/4
Rewards scoped auth metadata and penalizes broad or missing scopes around privileged tools.
Secret Handling Hygiene
3/4
Assesses secret-bearing tools, token leakage risk, and whether the public surface avoids obvious secret exposure.
Supply Chain Signal
2.5/4
Public metadata signal for repository, changelog, license, versioning, and recency that supports supply-chain trust.
Input Sanitization Safety
3/4
Penalizes risky freeform string inputs when schemas do not constrain URLs, code, paths, queries, or templates.
Tool Namespace Clarity
4/4
Measures naming uniqueness and ambiguity across the tool namespace to reduce collision and confusion risk.
Compatibility profiles
OpenAI Connectors
66.7
partial
OpenAI connectors expect OAuth for remote server auth.; Dynamic client registration materially improves connector setup.; Transport compliance should be in good shape.
Connector URL: https://mcp-service-public.nhaultcoeur.workers.dev/mcp # No OAuth metadata detected. # Server: io.github.OneNicolas/mcp-service-public
Claude Desktop
83.3
compatible
Transport behavior should match Claude-compatible HTTP expectations.
{
"mcpServers": {
"mcp-service-public": {
"command": "npx",
"args": ["mcp-remote", "https://mcp-service-public.nhaultcoeur.workers.dev/mcp"]
}
}
}
Smithery
100.0
compatible
No major blockers detected.
smithery mcp add "https://mcp-service-public.nhaultcoeur.workers.dev/mcp"
Generic Streamable HTTP
100.0
compatible
No major blockers detected.
curl -sS https://mcp-service-public.nhaultcoeur.workers.dev/mcp -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"mcp-verify","version":"0.1.0"}}}'
Actionable remediation
| Severity | Remediation | Why it matters | Recommended action |
|---|---|---|---|
| High | Add confirmation and dry-run semantics for risky actions | High-risk write, delete, exec, or egress tools should communicate safeguards clearly. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| High | Align session and protocol behavior with Streamable HTTP expectations | Clients increasingly rely on MCP-Protocol-Version, session teardown, and expired-session semantics. | Align MCP-Protocol-Version, MCP-Session-Id, DELETE teardown, and expired-session handling with the transport spec.Playbook
|
| High | Associate roots, sampling, and elicitation with active client requests | Modern MCP guidance expects roots, sampling, and elicitation traffic to be tied to an active client request instead of arriving unsolicited on idle sessions. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| High | Expose /.well-known/oauth-protected-resource | Without a protected-resource document, OAuth clients cannot discover auth requirements reliably. | Serve /.well-known/oauth-protected-resource and point it at your authorization server metadata.Playbook
|
| High | Publish OAuth authorization-server metadata | Clients need authorization-server metadata to discover issuer, endpoints, and DCR support. | Publish /.well-known/oauth-authorization-server from your issuer and include registration_endpoint when supported.Playbook
|
| High | Publish a complete server card | Missing or incomplete server-card metadata weakens discovery, documentation, and trust signals. | Serve /.well-known/mcp/server-card.json and include tools, prompts/resources, homepage, and support links.Playbook
|
| High | Stop asking users to paste secrets directly | Public MCP servers should prefer OAuth or browser-based auth guidance over in-band secret collection. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| Medium | Adopt a current MCP protocol revision | Older protocol revisions reduce compatibility with newer clients and registry programs. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| Medium | Close connector-publishing gaps | Connector catalogs care about protocol recency, session behavior, auth clarity, and tool-surface stability. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| Medium | Document minimal scopes and return cleaner auth challenges | Modern clients expect granular scopes and step-up auth signals such as WWW-Authenticate scope hints. | Return granular scopes and WWW-Authenticate challenge hints instead of forcing overly broad auth upfront.Playbook
|
| Medium | Publish OpenID configuration | OIDC metadata improves token validation and client compatibility. | Expose /.well-known/openid-configuration with issuer, jwks_uri, and supported grants.Playbook
|
| Medium | Repair prompts/list or stop advertising prompts | Prompt metadata should either work live or be removed from the advertised capability set. | Only advertise prompts if prompts/list works and prompt arguments are documented.Playbook
|
| Medium | Repair resources/list or stop advertising resources | Resource metadata should either work live or be removed from the advertised capability set. | Only advertise resources if resources/list works and resources expose stable URIs/types.Playbook
|
| Medium | Respond to validation evidence is stale | Latest validation is 605.0 hours old. | Trigger a fresh validation run or increase scheduler priority for this server.Playbook
|
| Medium | Support resumable HTTP sessions cleanly | Modern MCP clients increasingly expect resumable session behavior on streamable HTTP transports. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| Low | Expose modern utility surfaces like completions, pagination, or tasks | Utility coverage improves interoperability with larger clients and long-lived agent workflows. | Expose completions, pagination, and task metadata where supported so larger clients can plan and resume work safely.Playbook
|
| Low | Publish newer MCP capability signals | Roots, sampling, elicitation, structured outputs, and related metadata improve client understanding and ranking. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
Point loss breakdown
| Component | Current | Points missing |
|---|---|---|
| Transport Compliance | 0/4 | -4.0 |
| Recovery Semantics | 0/4 | -4.0 |
| Execution Sandbox Safety | 0/4 | -4.0 |
| Utility Coverage | 2/4 | -2.0 |
| Spec Recency | 2/4 | -2.0 |
| Schema Completeness | 2/4 | -2.0 |
| Safety Transparency | 2/4 | -2.0 |
| Resource Contract | 2/4 | -2.0 |
| Registry Consistency | 2/4 | -2.0 |
| Rate Limit Semantics | 2/4 | -2.0 |
| Prompt Contract | 2/4 | -2.0 |
| Least Privilege Scope | 2/4 | -2.0 |
Validation diff
Score delta
0
Summary changed
no
Tool delta
0
Prompt delta
0
Auth mode changed
no
Write surface expanded
no
Protocol regressed
no
Registry drift changed
no
Regressed checks: none
Improved checks: none
| Component | Previous | Latest | Delta |
|---|---|---|---|
| No component deltas between the latest two runs. | |||
Tool snapshot diff & changelog
Snapshot changed
no
Added tools
none
Removed tools
none
Required-argument changes
| Tool | Added required args | Removed required args |
|---|---|---|
| No required-argument changes detected. | ||
Output-schema drift
| Tool | Previous properties | Latest properties |
|---|---|---|
| No output-schema drift detected. | ||
Connector replay
Status
OK
Backward compatible
Would break after refresh
Added tools
none
Removed tools
none
Additive output changes
none
Required-argument replay breaks
| Tool | Added required args | Removed required args |
|---|---|---|
| No required-argument replay breaks detected. | ||
Output-schema replay breaks
| Tool | Removed properties | Added properties |
|---|---|---|
| No output-schema replay breaks detected. | ||
Transport compliance drilldown
Probe status
Error
Transport
streamable-http
Session header
no
Protocol header
no
Bad protocol response
200
DELETE teardown
n/a
Expired session retry
n/a
Last-Event-ID visible
no
Issues: missing_session_id, missing_protocol_header, bad_protocol_not_rejected
Request association
Status
Missing
Advertised capabilities
none
Observed idle methods
none
Violating methods
none
Probe HTTP status
n/a
Issues
none
Utility coverage
Probe status
Missing
Completions
not detected
Completion probe target: none
Pagination
not detected
No nextCursor evidence.
Tasks
Missing
Advertised: no
Benchmark tasks
| Benchmark task | Status | Evidence |
|---|---|---|
| Discover tools | Passes |
|
| Read-only fetch flow | Degraded |
|
| OAuth-required connect | Degraded |
|
| Safe write flow with confirmation | Likely to fail |
|
Registry & provenance divergence
Probe status
OK
Direct official match
yes
Drift fields
none
| Field | Registry | Live server card |
|---|---|---|
| Title | n/a | n/a |
| Version | n/a | n/a |
| Homepage | n/a | n/a |
Active alerts
- Validation evidence is stale (medium)
Latest validation is 605.0 hours old.
Aliases & registry graph
| Identifier | Source | Canonical | Score |
|---|---|---|---|
io.github.OneNicolas/mcp-service-public |
official_registry | yes | 72.62 |
Alias consolidation
Canonical identifier
io.github.OneNicolas/mcp-service-public
Duplicate aliases
0
Registry sources
official_registry
Source disagreements
| Field | What differs | Observed values |
|---|---|---|
| No source disagreements detected. | ||
Install snippets
Openai Connectors
Connector URL: https://mcp-service-public.nhaultcoeur.workers.dev/mcp # No OAuth metadata detected. # Server: io.github.OneNicolas/mcp-service-public
Claude Desktop
{
"mcpServers": {
"mcp-service-public": {
"command": "npx",
"args": ["mcp-remote", "https://mcp-service-public.nhaultcoeur.workers.dev/mcp"]
}
}
}
Smithery
smithery mcp add "https://mcp-service-public.nhaultcoeur.workers.dev/mcp"
Generic Http
curl -sS https://mcp-service-public.nhaultcoeur.workers.dev/mcp -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"mcp-verify","version":"0.1.0"}}}'
Agent access & tool surface
Live server tools
rechercher rechercher_fiche lire_fiche rechercher_service_local naviguer_themes consulter_fiscalite_locale rechercher_doctrine_fiscale consulter_transactions_immobilieres
Observed from the latest live validation against https://mcp-service-public.nhaultcoeur.workers.dev/mcp. This is the target server surface, not Verify's own inspection tools.
Live capability counts
38 tools • 0 prompts • 0 resources
Counts come from the latest
tools/list, prompts/list, and resources/list checks.Inspect with Verify
search_servers recommend_servers get_server_report compare_servers
Use Verify itself to search, recommend, compare, and fetch the full report for
io.github.OneNicolas/mcp-service-public.Direct machine links
Claims & monitoring
Server ownership
No verified maintainer claim recorded.
Watch subscriptions
0
Teams: none
Alert routing
Active watches
0
Generic webhooks
0
Slack routes
0
Teams routes
0
Email routes
0
| Watch | Team | Channels | Minimum severity |
|---|---|---|---|
| No active watch destinations. | |||
Maintainer analytics
Validation Run Count
20
Average Latency Ms
395.41
Healthy Run Ratio Recent
1.0
Registry Presence Count
1
Active Alert Count
1
Watcher Count
0
Verified Claim
False
Taxonomy Tags
development, communication, security, finance
Score Trend
72.62, 72.62, 72.62, 72.62, 72.62, 72.62, 72.62, 72.62, 72.62, 72.62
Remediation Count
17
High Risk Tool Count
10
Destructive Tool Count
0
Exec Tool Count
4
Maintainer response quality
Score
16.67
Verified claim
Support contact
Changelog present
Incident notes present
Tool changes documented
Annotation history
Annotation count
0
Maintainer annotations
No maintainer annotations have been recorded yet.
Maintainer rebuttals & expected behavior
No maintainer rebuttals or expected-behavior overrides are recorded yet.
Latest validation evidence
Latest summary
Healthy
Validation profile
remote_mcp
Started
Apr 09, 2026 12:53:46 AM UTC
Latency
334.5 ms
Failures
oauth_authorization_serverno authorization serveroauth_protected_resourceClient error '404 Not Found' for url 'https://mcp-service-public.nhaultcoeur.workers.dev/.well-known/oauth-protected-resource' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404openid_configurationno authorization serverserver_cardClient error '404 Not Found' for url 'https://mcp-service-public.nhaultcoeur.workers.dev/.well-known/mcp/server-card.json' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404transport_compliance_probeIssues: missing session id, missing protocol header, bad protocol not rejected (bad protocol=200).
Checks
| Check | Status | Latency | Evidence |
|---|---|---|---|
action_safety_probe |
Error | n/a | 10 high-risk, 4 exec-capable tool(s); no clear auth boundary; safeguards=0; confirmation=none. |
advanced_capabilities_probe |
Missing | n/a | No advanced MCP capability signals detected. |
connector_publishability_probe |
Warning | n/a | Publishability blockers: transport compliance, action safety, server card. |
connector_replay_probe |
OK | n/a | Backward compatible with no breaking tool-surface changes. |
determinism_probe |
OK | 13.2 ms | Check completed |
initialize |
OK | 28.0 ms | Protocol 2025-03-26 |
interactive_flow_probe |
Missing | n/a | Check completed |
oauth_authorization_server |
Missing | n/a | no authorization server |
oauth_protected_resource |
Error | 31.5 ms | Client error '404 Not Found' for url 'https://mcp-service-public.nhaultcoeur.workers.dev/.well-known/oauth-protected-resource' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 |
official_registry_probe |
OK | n/a | Check completed |
openid_configuration |
Missing | n/a | no authorization server |
probe_noise_resilience |
OK | 9.9 ms | Fetched https://mcp-service-public.nhaultcoeur.workers.dev/robots.txt |
prompt_get |
Missing | n/a | not advertised |
prompts_list |
Missing | 9.7 ms | not supported |
protocol_version_probe |
Warning | n/a | Claims 2025-03-26; 2 release(s) behind 2025-11-25. |
provenance_divergence_probe |
OK | n/a | Check completed |
request_association_probe |
Missing | n/a | No request-association capabilities were advertised. |
resource_read |
Missing | n/a | not advertised |
resources_list |
Missing | 10.3 ms | not supported |
server_card |
Error | 55.4 ms | Client error '404 Not Found' for url 'https://mcp-service-public.nhaultcoeur.workers.dev/.well-known/mcp/server-card.json' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 |
session_resume_probe |
Warning | n/a | no session id |
step_up_auth_probe |
Missing | n/a | No OAuth or incremental-scope signals detected. |
tool_snapshot_probe |
OK | n/a | Check completed |
tools_list |
OK | 13.1 ms | 38 tool(s) exposed |
transport_compliance_probe |
Error | 16.0 ms | Issues: missing session id, missing protocol header, bad protocol not rejected (bad protocol=200). |
utility_coverage_probe |
Missing | 8.8 ms | No completions evidence; no pagination evidence; tasks missing. |
Raw evidence view
Show raw JSON evidence
{
"checks": {
"action_safety_probe": {
"details": {
"auth_present": false,
"confirmation_signals": [],
"safeguard_count": 0,
"summary": {
"bulk_access_tools": 21,
"capability_distribution": {
"admin": 2,
"exec": 4,
"export": 21,
"filesystem": 1,
"network": 7,
"other": 2,
"read": 11,
"secrets": 4,
"write": 21
},
"destructive_tools": 0,
"egress_tools": 1,
"exec_tools": 4,
"high_risk_tools": 10,
"risk_distribution": {
"critical": 0,
"high": 10,
"low": 4,
"medium": 24
},
"secret_tools": 4,
"tool_count": 38
}
},
"latency_ms": null,
"status": "error"
},
"advanced_capabilities_probe": {
"details": {
"capabilities": {
"completions": false,
"elicitation": false,
"prompts": false,
"resource_links": false,
"resources": false,
"roots": false,
"sampling": false,
"structured_outputs": false
},
"enabled": [],
"enabled_count": 0,
"initialize_capability_keys": [
"prompts",
"tools"
]
},
"latency_ms": null,
"status": "missing"
},
"connector_publishability_probe": {
"details": {
"blockers": [
"transport_compliance",
"action_safety",
"server_card"
],
"criteria": {
"action_safety": false,
"auth_flow": true,
"connector_replay": true,
"initialize": true,
"protocol_version": true,
"remote_transport": true,
"request_association": true,
"server_card": false,
"session_resume": true,
"step_up_auth": true,
"tool_surface": true,
"tools_list": true,
"transport_compliance": false
},
"high_risk_tools": 10,
"tool_count": 38,
"transport": "streamable-http"
},
"latency_ms": null,
"status": "warning"
},
"connector_replay_probe": {
"details": {
"added_tools": [],
"additive_output_changes": [],
"backward_compatible": true,
"output_breaks": [],
"removed_tools": [],
"required_arg_breaks": [],
"would_break_after_refresh": false
},
"latency_ms": null,
"status": "ok"
},
"determinism_probe": {
"details": {
"attempts": 2,
"baseline_signature": "a2efbfe5310db87991341f98b4a6d938562edae5988c401869227487c8110252",
"errors": [],
"matches": 2,
"stable_ratio": 1.0,
"successful": 2
},
"latency_ms": 13.2,
"status": "ok"
},
"initialize": {
"details": {
"headers": {
"content-type": "application/json"
},
"http_status": 200,
"payload": {
"id": 1,
"jsonrpc": "2.0",
"result": {
"capabilities": {
"prompts": {
"listChanged": false,
"prompts": [
{
"arguments": [
{
"description": "Liste de communes separees par des virgules (ex: Lyon, Bordeaux, Nantes)",
"name": "communes",
"required": true
}
],
"description": "Compare 2 a 5 communes pour un projet d'achat immobilier : prix DVF, fiscalite, zonage ABC, services, risques.",
"name": "comparer_communes_achat"
},
{
"arguments": [
{
"description": "Liste de communes separees par des virgules",
"name": "communes",
"required": true
},
{
"description": "Nombre d'enfants a scolariser (optionnel)",
"name": "nb_enfants",
"required": false
}
],
"description": "Compare 2 a 5 communes pour un demenagement : ecoles, securite, acces soins, fiscalite, transports.",
"name": "comparer_communes_demenagement"
},
{
"arguments": [
{
"description": "Commune du bien",
"name": "commune",
"required": true
},
{
"description": "Prix d'achat en euros (ex: 250000)",
"name": "prix",
"required": true
},
{
"description": "Surface en m2",
"name": "surface",
"required": true
},
{
"description": "Maison ou Appartement",
"name": "type_bien",
"required": true
},
{
"description": "ancien ou neuf",
"name": "type_achat",
"required": false
}
],
"description": "Simule le cout complet d'un achat immobilier : frais de notaire, taxe fonciere estimee, zonage Pinel/PTZ.",
"name": "simuler_achat_immobilier"
},
{
"arguments": [
{
"description": "Nom ou numero SIRET/SIREN de l'entreprise",
"name": "entreprise",
"required": true
}
],
"description": "Verifie la situation legale d'une entreprise : SIRET, forme juridique, dirigeants, conventions collectives, annonces BODACC.",
"name": "verifier_entreprise"
},
{
"arguments": [
{
"description": "Sujet juridique (ex: protection donnees personnelles, teletravail)",
"name": "sujet",
"required": true
},
{
"description": "LOI, DECRET, ARRETE ou tous (defaut)",
"name": "type",
"required": false
}
],
"description": "Trouve les textes de loi, decrets et arretes sur un sujet precis via Legifrance.",
"name": "trouver_textes_loi"
},
{
"arguments": [
{
"description": "Revenu net imposable en euros",
"name": "revenu",
"required": true
},
{
"description": "celibataire, marie, pacse, divorce ou veuf",
"name": "situation",
"required": false
},
{
"description": "Nombre d'enfants a charge",
"name": "nb_enfants",
"required": false
},
{
"description": "Revenus fonciers bruts en euros",
"name": "revenus_fonciers",
"required": false
}
],
"description": "Simule l'impot sur le revenu avec situation familiale, revenus fonciers, capitaux et micro-entrepreneur.",
"name": "simuler_impot_complet"
},
{
"arguments": [
{
"description": "Secteur ou objet du marche (ex: travaux voirie, nettoyage, informatique)",
"name": "secteur",
"required": true
},
{
"description": "Code departement (ex: 75, 69)",
"name": "departement",
"required": false
},
{
"description": "AAC (appel offres), APC (attribution), MAPA ou DSP",
"name": "type",
"required": false
}
],
"description": "Recherche des appels d'offres publics (BOAMP) par secteur d'activite et/ou departement.",
"name": "trouver_marche_public"
},
{
"arguments": [
{
"description": "Commune, code postal ou code departement",
"name": "lieu",
"required": true
},
{
"description": "RSA, AL, AAH, AF, PA ou toutes (defaut)",
"name": "prestation",
"required": false
}
],
"description": "Consulte les statistiques CAF d'un departement ou d'une commune : RSA, APL, AAH, allocations familiales.",
"name": "aide_sociale_departement"
},
{
"arguments": [
{
"description": "Commune ou code postal du lycee",
"name": "commune",
"required": true
},
{
"description": "Nom partiel du lycee (optionnel)",
"name": "nom",
"required": false
},
{
"description": "gt (general/techno), pro ou tous (defaut)",
"name": "type",
"required": false
}
],
"description": "Trouve un lycee et consulte ses resultats au bac : taux de reussite, valeur ajoutee, mentions.",
"name": "trouver_lycee_resultats"
},
{
"arguments": [
{
"description": "Ville, departement ou UAI du lycee",
"name": "lieu",
"required": true
},
{
"description": "Specialite ou intitule de formation (optionnel)",
"name": "formation",
"required": false
}
],
"description": "Consulte l'insertion professionnelle apres un CAP, Bac Pro ou BTS dans un lycee professionnel.",
"name": "insertion_pro_lycee"
},
{
"arguments": [
{
"description": "Commune, code postal ou code departement",
"name": "lieu",
"required": true
}
],
"description": "Consulte les statistiques de delinquance departementale d'une commune : cambriolages, vols, violences, taux pour 1000 hab.",
"name": "securite_commune"
},
{
"arguments": [
{
"description": "Nom de la commune ou code postal",
"name": "commune",
"required": true
}
],
"description": "Identifie les risques naturels et technologiques d'une commune et liste les arretes de catastrophe naturelle.",
"name": "risques_naturels_commune"
},
{
"arguments": [
{
"description": "Secteur ou nom de l'entreprise (ex: boulangerie, metallurgie)",
"name": "secteur",
"required": true
}
],
"description": "Trouve la convention collective applicable a un secteur d'activite ou une entreprise.",
"name": "trouver_convention_collective"
},
{
"arguments": [
{
"description": "Commune ou code postal",
"name": "commune",
"required": true
},
{
"description": "Appartement, Maison ou les deux (defaut)",
"name": "type_bien",
"required": false
}
],
"description": "Analyse l'evolution des prix immobiliers DVF d'une commune depuis 2019, par type de bien.",
"name": "evolution_prix_immobilier"
},
{
"arguments": [
{
"description": "Commune, code postal ou code departement",
"name": "lieu",
"required": true
}
],
"description": "Analyse la densite medicale d'un departement : medecins generalistes, specialistes, zones sous-dotees.",
"name": "acces_soins_departement"
},
{
"arguments": [
{
"description": "Metier ou mots-cles du poste (ex: developpeur, infirmier, comptable)",
"name": "metier",
"required": true
},
{
"description": "Commune, code postal ou code departement (optionnel)",
"name": "lieu",
"required": false
},
{
"description": "Type de contrat : CDI, CDD, MIS, SAI, PRO (optionnel)",
"name": "contrat",
"required": false
}
],
"description": "Recherche des offres d'emploi actives (France Travail) par metier, commune ou departement, avec filtrage par type de contrat.",
"name": "offres_emploi_recherche"
},
{
"arguments": [
{
"description": "Departement (ex: 69) ou commune (ex: Lyon)",
"name": "lieu",
"required": true
},
{
"description": "Type de carburant : Gazole, SP95, SP98, E10, E85, GPLc (optionnel \u2014 tous si absent)",
"name": "carburant",
"required": false
}
],
"description": "Trouve les stations-service les moins cheres d'un departement ou d'une commune pour un type de carburant donne.",
"name": "prix_carburant_proche"
},
{
"arguments": [
{
"description": "Metier ou intitule de formation (ex: comptabilite, bilan de competences, developpeur web)",
"name": "metier",
"required": false
},
{
"description": "Code departement (ex: 69, 75, 93)",
"name": "departement",
"required": false
},
{
"description": "true pour les formations uniquement a distance",
"name": "a_distance",
"required": false
}
],
"description": "Recherche une formation professionnelle eligible au CPF (MonCompteFormation) par metier, departement ou modalite a distance.",
"name": "formation_cpf_recherche"
},
{
"arguments": [
{
"description": "Nom de l'EPCI ou commune membre (ex: Bordeaux Metropole, Rennes)",
"name": "epci",
"required": true
},
{
"description": "Annee du budget (2017-2024, defaut : derniere disponible)",
"name": "annee",
"required": false
}
],
"description": "Consulte les comptes financiers d'un EPCI (metropole, communaute d'agglomeration, communaute de communes) via les donnees OFGL.",
"name": "budget_epci_info"
},
{
"arguments": [
{
"description": "Intitule de la formation (ex: BTS comptabilite, licence informatique, CPGE scientifique)",
"name": "formation",
"required": true
},
{
"description": "Ville pour filtrer (ex: Lyon, Paris)",
"name": "ville",
"required": false
},
{
"description": "Filiere : BTS, BUT, Licence, CPGE, PASS (optionnel)",
"name": "filiere",
"required": false
}
],
"description": "Consulte les statistiques de selectivite Parcoursup d'une formation : taux d'acces, rang du dernier appele, profil des admis par type de bac, mentions, taux de boursiers. Idealement apres avoir identifie la formation via consulter_parcoursup.",
"name": "parcoursup_stats_formation"
}
]
},
"tools": {}
},
"instructions": "Serveur MCP pour les donnees publiques francaises (service-public.fr, DGFiP, DVF, BOFiP, KALI, DINUM).\n\nWORKFLOW RECOMMANDE :\n1. Commencer par l'outil `rechercher` avec une question en langage naturel.\n Il dispatche automatiquement vers l'outil le plus adapte.\n2. Utiliser les outils specifiques directement si la categorie est connue :\n - Demarches/droits : rechercher_fiche, lire_fiche, naviguer_themes\n - Services locaux : rechercher_service_local\n - Fiscalite locale : consulter_fiscalite_locale (taux TFB/TEOM/CFE par commune)\n - Doctrine fiscale : rechercher_doctrine_fiscale (BOFiP \u2014 IR, TVA, IS, plus-values)\n - Immobilier : consulter_transactions_immobilieres (prix DVF par commune, evolution=true pour historique 2019+)\n - Simulateurs : simuler_taxe_fonciere, simuler_frais_notaire, simuler_impot_revenu\n - Zonage : consulter_zonage_immobilier (zones ABC \u2014 Pinel, PTZ)\n - Comparaison : comparer_communes (fiscalite + immobilier + services + securite + risques, 2-5 communes)\n - Entreprises : rechercher_entreprise (SIRET/SIREN/nom + conventions collectives)\n - Conventions : rechercher_convention_collective (IDCC ou mot-cle)\n - Education : rechercher_etablissement_scolaire (ecoles, colleges, lycees par commune)\n - Resultats lycees : consulter_resultats_lycee (IVAL \u2014 taux reussite, VA, mentions par lycee)\n - Parcoursup : consulter_parcoursup (formations, selectivite, profil admis par ville/filiere)\n - Acces soins : consulter_acces_soins (densite medecins, patientele MT, zones sous-dotees par departement)\n - Insertion pro : consulter_insertion_professionnelle (InserJeunes \u2014 taux emploi/poursuite etudes apres CAP/Bac Pro/BTS)\n - Securite : consulter_securite (delinquance departementale \u2014 cambriolages, vols, violences, taux/1000 hab.)\n - Risques : consulter_risques_naturels (risques naturels/technologiques + arretes CatNat par commune)\n - Journal Officiel : consulter_journal_officiel (JORF \u2014 textes publies, filtre LOI/DECRET/ARRETE/dates)\n - Aide sociale : consulter_aide_sociale (stats CAF \u2014 allocataires RSA/APL/AAH/AF par commune ou dept)\n - Marches publics : rechercher_marche_public (BOAMP \u2014 appels d'offres, attributions, MAPA par mots-cles/dept/acheteur)\n - Budget communes : consulter_budget_commune (OFGL 2017-2024 \u2014 recettes, depenses, epargne brute, encours dette par commune)\n - Budget EPCI : consulter_budget_epci (OFGL 2017-2024 \u2014 budget des intercommunalites, communautes de communes/agglomeration, metropoles)\n - Evaluations nationales : consulter_evaluations_nationales (resultats CE2/6e par departement)\n - Textes legaux : rechercher_texte_legal (Legifrance \u2014 lois, decrets, arretes par mots-cles ou reference NOR)\n - Codes juridiques : rechercher_code_juridique (Legifrance \u2014 articles de code, recherche dans Code civil, Code du travail, etc.)\n - Jurisprudence : rechercher_jurisprudence (Legifrance \u2014 arrets Cour de cassation, Conseil d'Etat, juridictions administratives)\n - Subventions : rechercher_subvention (data.gouv.fr \u2014 subventions collectivites locales > 23 000 EUR, par beneficiaire/attribuant)\n - Entreprises SIRENE : consulter_sirene_historique (creations/cessations par secteur NAF, commune ou departement)\n - Offres emploi : rechercher_offre_emploi (France Travail \u2014 offres actives par mots-cles, commune, departement, type contrat CDI/CDD/interim)\n - Annonces legales : rechercher_annonce_legale (BODACC \u2014 immatriculations, radiations, cessions, procedures collectives par SIREN/nom)\n - Prix carburants : consulter_prix_carburant (flux temps reel \u2014 stations par departement/commune, tri par prix, Gazole/SP95/SP98/E10/E85/GPLc)\n - Formations CPF : rechercher_formation (MonCompteFormation \u2014 catalogue national CPF, filtrage par mot-cle/departement/code ROME/niveau/a distance)\n\nPARAMETRES IMPORTANTS :\n- Les communes acceptent un nom, un code postal ou un code INSEE.\n- Paris/Lyon/Marseille sont geres automatiquement (arrondissements DVF).\n- Sans annee/exercice, les outils retournent l'evolution multi-annees.\n\nLIMITES :\n- DVF exclut l'Alsace, la Moselle et Mayotte.\n- Les simulateurs (TF, IR, frais notaire) sont indicatifs, pas des avis fiscaux.",
"protocolVersion": "2025-03-26",
"serverInfo": {
"name": "service-public",
"version": "1.14.8"
}
}
},
"url": "https://mcp-service-public.nhaultcoeur.workers.dev/mcp"
},
"latency_ms": 27.99,
"status": "ok"
},
"interactive_flow_probe": {
"details": {
"oauth_supported": false,
"prompt_available": false,
"risk_hits": [],
"safe_hits": []
},
"latency_ms": null,
"status": "missing"
},
"oauth_authorization_server": {
"details": {
"reason": "no_authorization_server"
},
"latency_ms": null,
"status": "missing"
},
"oauth_protected_resource": {
"details": {
"error": "Client error '404 Not Found' for url 'https://mcp-service-public.nhaultcoeur.workers.dev/.well-known/oauth-protected-resource'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
"url": "https://mcp-service-public.nhaultcoeur.workers.dev/.well-known/oauth-protected-resource"
},
"latency_ms": 31.54,
"status": "error"
},
"official_registry_probe": {
"details": {
"direct_match": true,
"official_peer_count": 1,
"registry_identifier": "io.github.OneNicolas/mcp-service-public",
"registry_source": "official_registry"
},
"latency_ms": null,
"status": "ok"
},
"openid_configuration": {
"details": {
"reason": "no_authorization_server"
},
"latency_ms": null,
"status": "missing"
},
"probe_noise_resilience": {
"details": {
"headers": {
"content-type": "text/plain; charset=utf-8"
},
"http_status": 200,
"url": "https://mcp-service-public.nhaultcoeur.workers.dev/robots.txt"
},
"latency_ms": 9.86,
"status": "ok"
},
"prompt_get": {
"details": {
"reason": "not_advertised"
},
"latency_ms": null,
"status": "missing"
},
"prompts_list": {
"details": {
"headers": {
"content-type": "application/json"
},
"http_status": 200,
"payload": {
"error": {
"code": -32601,
"message": "Method not found: prompts/list"
},
"id": 3,
"jsonrpc": "2.0"
},
"reason": "not_supported",
"url": "https://mcp-service-public.nhaultcoeur.workers.dev/mcp"
},
"latency_ms": 9.66,
"status": "missing"
},
"protocol_version_probe": {
"details": {
"claimed_version": "2025-03-26",
"lag_days": 244,
"latest_known_version": "2025-11-25",
"releases_behind": 2,
"validator_protocol_version": "2025-03-26"
},
"latency_ms": null,
"status": "warning"
},
"provenance_divergence_probe": {
"details": {
"direct_official_match": true,
"drift_fields": [],
"metadata_document_count": 2,
"registry_homepage": null,
"registry_repository": null,
"registry_title": null,
"registry_version": null,
"server_card_homepage": null,
"server_card_repository": null,
"server_card_title": null,
"server_card_version": null
},
"latency_ms": null,
"status": "ok"
},
"request_association_probe": {
"details": {
"reason": "no_request_association_capabilities_advertised"
},
"latency_ms": null,
"status": "missing"
},
"resource_read": {
"details": {
"reason": "not_advertised"
},
"latency_ms": null,
"status": "missing"
},
"resources_list": {
"details": {
"headers": {
"content-type": "application/json"
},
"http_status": 200,
"payload": {
"error": {
"code": -32601,
"message": "Method not found: resources/list"
},
"id": 5,
"jsonrpc": "2.0"
},
"reason": "not_supported",
"url": "https://mcp-service-public.nhaultcoeur.workers.dev/mcp"
},
"latency_ms": 10.28,
"status": "missing"
},
"server_card": {
"details": {
"error": "Client error '404 Not Found' for url 'https://mcp-service-public.nhaultcoeur.workers.dev/.well-known/mcp/server-card.json'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
"url": "https://mcp-service-public.nhaultcoeur.workers.dev/.well-known/mcp/server-card.json"
},
"latency_ms": 55.35,
"status": "error"
},
"session_resume_probe": {
"details": {
"protocol_version": "2025-03-26",
"reason": "no_session_id",
"resume_expected": true,
"transport": "streamable-http"
},
"latency_ms": null,
"status": "warning"
},
"step_up_auth_probe": {
"details": {
"auth_required_checks": [],
"broad_scopes": [],
"challenge_headers": [],
"minimal_scope_documented": false,
"oauth_present": false,
"scope_specificity_ratio": 0.0,
"step_up_signals": [],
"supported_scopes": []
},
"latency_ms": null,
"status": "missing"
},
"tool_snapshot_probe": {
"details": {
"added": [],
"changed_outputs": [],
"current_tool_count": 38,
"previous_tool_count": 38,
"removed": [],
"similarity": 1.0
},
"latency_ms": null,
"status": "ok"
},
"tools_list": {
"details": {
"headers": {
"content-type": "application/json"
},
"http_status": 200,
"payload": {
"id": 2,
"jsonrpc": "2.0",
"result": {
"tools": [
{
"description": "Recherche unifiee intelligente : dispatche vers fiches DILA, BOFiP, DVF, fiscalite locale, simulation TF/frais notaire/IR, zonage ABC/Pinel, conventions collectives, etablissements scolaires, resultats lycees, Parcoursup, acces aux soins, insertion pro, securite, risques naturels, codes juridiques, jurisprudence, textes legaux, JO, marches publics, annonces BODACC, aide sociale CAF, budget commune/EPCI, subventions, SIRENE, offres emploi France Travail, prix carburants, formations CPF (MonCompteFormation). A utiliser en premier si la source n'est pas evidente.",
"inputSchema": {
"properties": {
"limit": {
"description": "Nombre de r\u00e9sultats (1-10, d\u00e9faut 5)",
"type": "number"
},
"query": {
"description": "Question ou termes de recherche en langage naturel (ex: 'taxe fonci\u00e8re \u00e0 Lyon', 'renouveler passeport', 'prix immobilier \u00e0 Bondy', 'frais de notaire 250000 euros', 'zone Pinel Bordeaux', 'convention collective b\u00e2timent', 'combien d imp\u00f4t pour 40000 euros mari\u00e9 2 enfants')",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "rechercher"
},
{
"description": "Recherche dans les fiches pratiques de service-public.fr (droits, d\u00e9marches administratives). Utilise la recherche plein texte.",
"inputSchema": {
"properties": {
"audience": {
"description": "Public cible",
"enum": [
"Particuliers",
"Professionnels",
"Associations"
],
"type": "string"
},
"limit": {
"description": "Nombre de r\u00e9sultats (1-20, d\u00e9faut 10)",
"type": "number"
},
"query": {
"description": "Termes de recherche (ex: 'passeport', 'allocation logement')",
"type": "string"
},
"theme": {
"description": "Filtrer par th\u00e8me (ex: 'Papiers', 'Logement')",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "rechercher_fiche"
},
{
"description": "Lit le contenu complet d'une fiche pratique par son identifiant (ex: F14929 pour le passeport).",
"inputSchema": {
"properties": {
"fiche_id": {
"description": "Identifiant de la fiche (ex: F14929, N360, R42946)",
"type": "string"
}
},
"required": [
"fiche_id"
],
"type": "object"
},
"name": "lire_fiche"
},
{
"description": "Recherche un service public local (mairie, pr\u00e9fecture, CAF, CPAM, France Services...) via l'Annuaire de l'administration.",
"inputSchema": {
"properties": {
"code_insee": {
"description": "Code INSEE de la commune",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '75001')",
"type": "string"
},
"commune": {
"description": "Nom de la commune",
"type": "string"
},
"limit": {
"description": "Nombre de r\u00e9sultats (1-20, d\u00e9faut 5)",
"type": "number"
},
"type_organisme": {
"description": "Type de service (ex: 'mairie', 'prefecture', 'caf')",
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_service_local"
},
{
"description": "Parcourt l'arborescence th\u00e9matique de service-public.fr. Sans param\u00e8tre, liste les th\u00e8mes principaux.",
"inputSchema": {
"properties": {
"theme_id": {
"description": "ID du th\u00e8me \u00e0 explorer (ex: N19810, N360)",
"type": "string"
}
},
"type": "object"
},
"name": "naviguer_themes"
},
{
"description": "Consulte les taux d'imposition locale d'une commune (taxe fonci\u00e8re, taxe d'habitation, TEOM, CFE). Accepte un nom de commune, un code INSEE ou un code postal. Sans exercice pr\u00e9cis\u00e9, affiche l'\u00e9volution sur 4 ans avec tendance. Donn\u00e9es REI de la DGFiP via data.economie.gouv.fr.",
"inputSchema": {
"properties": {
"code_insee": {
"description": "Code INSEE de la commune (ex: '75056', '69123')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '93140', '75001'). R\u00e9sout automatiquement vers le(s) code(s) INSEE.",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'PARIS', 'LYON')",
"type": "string"
},
"communes": {
"description": "Liste de communes \u00e0 comparer (2-5 noms en majuscules, ex: ['PARIS', 'LYON', 'MARSEILLE']). Active le mode comparaison c\u00f4te \u00e0 c\u00f4te.",
"items": {
"type": "string"
},
"maxItems": 5,
"minItems": 2,
"type": "array"
},
"exercice": {
"description": "Ann\u00e9e fiscale (ex: '2024'). Sans exercice : affiche l'\u00e9volution sur toutes les ann\u00e9es disponibles.",
"type": "string"
},
"type": {
"description": "Type de fiscalit\u00e9 (d\u00e9faut: particuliers)",
"enum": [
"particuliers",
"entreprises"
],
"type": "string"
}
},
"type": "object"
},
"name": "consulter_fiscalite_locale"
},
{
"description": "Recherche dans la doctrine fiscale officielle (BOFiP - Bulletin Officiel des Finances Publiques). Couvre IR, TVA, IS, plus-values, etc.",
"inputSchema": {
"properties": {
"limit": {
"description": "Nombre de r\u00e9sultats (1-10, d\u00e9faut 5)",
"type": "number"
},
"query": {
"description": "Termes de recherche (ex: 'plus-values immobili\u00e8res', 'cr\u00e9dit imp\u00f4t recherche')",
"type": "string"
},
"serie": {
"description": "Filtrer par s\u00e9rie BOFiP (ex: 'IR', 'TVA', 'IS', 'RFPI', 'BIC')",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "rechercher_doctrine_fiscale"
},
{
"description": "Consulte les transactions immobili\u00e8res (DVF - Demandes de Valeurs Fonci\u00e8res) d'une commune. Fournit prix m\u00e9dians, prix au m\u00b2, r\u00e9partition par type de bien et nombre de pi\u00e8ces. Avec evolution=true, retourne l'historique des prix m\u00e9dians par ann\u00e9e (2019-aujourd'hui) avec tendance. Donn\u00e9es DGFiP via data.gouv.fr. Hors Alsace, Moselle et Mayotte.",
"inputSchema": {
"properties": {
"annee": {
"description": "Filtrer sur une ann\u00e9e sp\u00e9cifique (ex: 2024). Par d\u00e9faut : 2 derni\u00e8res ann\u00e9es.",
"type": "number"
},
"code_insee": {
"description": "Code INSEE de la commune (ex: '93010')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '93140'). R\u00e9sout automatiquement vers le(s) code(s) INSEE.",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Bondy', 'Lyon')",
"type": "string"
},
"evolution": {
"description": "Si true, retourne l'\u00e9volution des prix m\u00e9dians ann\u00e9e par ann\u00e9e (2019-aujourd'hui) avec tendance hausse/baisse/stable. Ignore le param\u00e8tre annee.",
"type": "boolean"
},
"type_local": {
"description": "Filtrer par type de bien",
"enum": [
"Appartement",
"Maison",
"Local industriel. commercial ou assimil\u00e9"
],
"type": "string"
}
},
"type": "object"
},
"name": "consulter_transactions_immobilieres"
},
{
"description": "Estime la taxe fonci\u00e8re annuelle d'un bien immobilier. Combine les vrais taux communaux (REI DGFiP) avec une estimation de la valeur locative cadastrale ajust\u00e9e au march\u00e9 local via les transactions DVF. Accepte un nom de commune, un code INSEE ou un code postal. D\u00e9compose les taux par collectivit\u00e9 (commune, EPCI, syndicat, GEMAPI, TSE, TASA). D\u00e9tecte l'exon\u00e9ration construction neuve 2 ans (art. 1383 CGI). Simule le sc\u00e9nario d'abattement r\u00e9sidence principale si vot\u00e9 par la commune. R\u00e9sultat indicatif uniquement.",
"inputSchema": {
"properties": {
"annee_construction": {
"description": "Ann\u00e9e de construction (optionnel, influence le coefficient d'entretien et d\u00e9tecte l'exon\u00e9ration 2 ans)",
"type": "number"
},
"code_insee": {
"description": "Code INSEE de la commune (ex: '69123')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '33000'). R\u00e9sout automatiquement vers le code INSEE.",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon', 'Bordeaux')",
"type": "string"
},
"nombre_pieces": {
"description": "Nombre de pi\u00e8ces principales (optionnel, estim\u00e9 si absent)",
"type": "number"
},
"residence_principale": {
"description": "S'il s'agit de la r\u00e9sidence principale (optionnel, affiche les exon\u00e9rations possibles)",
"type": "boolean"
},
"surface": {
"description": "Surface habitable en m\u00b2 (ex: 75)",
"type": "number"
},
"type_bien": {
"description": "Type de bien immobilier",
"enum": [
"Maison",
"Appartement"
],
"type": "string"
}
},
"required": [
"surface",
"type_bien"
],
"type": "object"
},
"name": "simuler_taxe_fonciere"
},
{
"description": "Estime les frais de notaire (frais d'acquisition) pour un achat immobilier. Calcule les droits de mutation (DMTO), \u00e9moluments du notaire (bar\u00e8me d\u00e9gressif r\u00e9glement\u00e9), contribution de s\u00e9curit\u00e9 immobili\u00e8re et d\u00e9bours. Distingue ancien (7-8 %) et neuf (2-3 %). Si le d\u00e9partement est pr\u00e9cis\u00e9, applique le taux DMTO exact (normal 5,81 % ou major\u00e9 6,32 % selon le d\u00e9partement, LF 2025). Sans d\u00e9partement, affiche les deux hypoth\u00e8ses. Accepte un code d\u00e9partement, un code postal ou un num\u00e9ro de d\u00e9partement.",
"inputSchema": {
"properties": {
"departement": {
"description": "D\u00e9partement (code 2-3 chiffres, code postal 5 chiffres, ou '2A'/'2B' pour la Corse). Permet d'appliquer le taux DMTO exact.",
"type": "string"
},
"prix": {
"description": "Prix d'achat du bien en euros (ex: 250000)",
"type": "number"
},
"type": {
"description": "Type de bien : ancien ou neuf",
"enum": [
"ancien",
"neuf"
],
"type": "string"
}
},
"required": [
"prix",
"type"
],
"type": "object"
},
"name": "simuler_frais_notaire"
},
{
"description": "Consulte la zone ABC d'une commune (A bis, A, B1, B2, C) utilis\u00e9e pour les dispositifs immobiliers (Pinel, PTZ, plafonds loyers). Accepte un nom de commune, un code INSEE ou un code postal. Retourne la zone, les plafonds de loyer, les plafonds de ressources et l'\u00e9ligibilit\u00e9 aux dispositifs. Source : Minist\u00e8re de la Transition \u00e9cologique via data.gouv.fr.",
"inputSchema": {
"properties": {
"code_insee": {
"description": "Code INSEE de la commune (ex: '69123')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '33000'). R\u00e9sout automatiquement vers le code INSEE.",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon', 'Bordeaux')",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_zonage_immobilier"
},
{
"description": "Compare 2 \u00e0 5 communes sur un tableau crois\u00e9 : population et densit\u00e9, fiscalit\u00e9 locale (taux TFB, TEOM), prix immobiliers (DVF m\u00e9dian/m\u00b2 appart et maison), zonage ABC, services publics locaux, \u00e9tablissements scolaires, scores 6\u00e8me, s\u00e9curit\u00e9 d\u00e9partementale (cambriolages, vols, violences), risques naturels (nombre de risques, arr\u00eat\u00e9s CatNat), donn\u00e9es sant\u00e9 (densit\u00e9 m\u00e9decins) et intercommunalit\u00e9. Aide \u00e0 la d\u00e9cision pour un d\u00e9m\u00e9nagement ou un investissement. Accepte des noms de communes, codes postaux ou codes INSEE.",
"inputSchema": {
"properties": {
"communes": {
"description": "Liste de 2 \u00e0 5 communes \u00e0 comparer (noms, codes postaux ou codes INSEE). Ex: ['Lyon', 'Bordeaux', 'Nantes']",
"items": {
"type": "string"
},
"maxItems": 5,
"minItems": 2,
"type": "array"
}
},
"required": [
"communes"
],
"type": "object"
},
"name": "comparer_communes"
},
{
"description": "Estime l'impot sur le revenu (IR) selon le bareme progressif 2025 (revenus 2024). Calcule le quotient familial, applique le plafonnement, la decote et la contribution exceptionnelle hauts revenus (CEHR). Parametres : revenu net imposable (obligatoire), nombre de parts OU situation familiale + nombre d'enfants. Options : revenus fonciers (micro-foncier 30% abattement ou reel), revenus de capitaux (PFU 30% ou bareme), micro-BIC (abattement 50%), micro-BNC (abattement 34%).",
"inputSchema": {
"properties": {
"micro_bic": {
"description": "Chiffre d'affaires micro-BIC en euros (abattement 50 %). Optionnel.",
"type": "number"
},
"micro_bnc": {
"description": "Recettes micro-BNC en euros (abattement 34 %). Optionnel.",
"type": "number"
},
"nb_enfants": {
"description": "Nombre d'enfants a charge (optionnel, defaut 0)",
"type": "number"
},
"nb_parts": {
"description": "Nombre de parts fiscales (optionnel, defaut 1). Prioritaire sur situation + nb_enfants.",
"type": "number"
},
"regime_capitaux": {
"description": "Imposition des capitaux (defaut: pfu). PFU = flat tax 30 %, bareme = integration au revenu global.",
"enum": [
"pfu",
"bareme"
],
"type": "string"
},
"regime_foncier": {
"description": "Regime foncier (defaut: micro). Micro = abattement 30 %, reel = montant net fourni.",
"enum": [
"micro",
"reel"
],
"type": "string"
},
"revenu_net_imposable": {
"description": "Revenu net imposable en euros (ex: 42000)",
"type": "number"
},
"revenus_capitaux": {
"description": "Revenus de capitaux mobiliers en euros (dividendes, interets, plus-values). Optionnel.",
"type": "number"
},
"revenus_fonciers": {
"description": "Revenus fonciers bruts en euros (optionnel). Negatif possible en regime reel (deficit foncier).",
"type": "number"
},
"situation": {
"description": "Situation familiale (optionnel, permet le calcul auto des parts)",
"enum": [
"celibataire",
"marie",
"pacse",
"divorce",
"veuf"
],
"type": "string"
}
},
"required": [
"revenu_net_imposable"
],
"type": "object"
},
"name": "simuler_impot_revenu"
},
{
"description": "Recherche une convention collective nationale par numero IDCC, secteur d'activite ou mot-cle. Source : base KALI (DILA) via data.gouv.fr. Retourne le titre, l'IDCC, l'etat (en vigueur/abrogee), la nature et le lien Legifrance.",
"inputSchema": {
"properties": {
"idcc": {
"description": "Numero IDCC (ex: '843', '3248')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 10)",
"type": "number"
},
"query": {
"description": "Mot-cle ou secteur d'activite (ex: 'boulangerie', 'metallurgie', 'batiment')",
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_convention_collective"
},
{
"description": "Recherche une entreprise francaise par SIRET, SIREN ou nom. Retourne les informations legales (forme juridique, NAF, effectif, dirigeants, adresse) et la ou les convention(s) collective(s) applicable(s) avec detail KALI. Source : API Recherche d'entreprises (DINUM) + KALI (DILA).",
"inputSchema": {
"properties": {
"nom": {
"description": "Nom ou raison sociale de l'entreprise (ex: 'OCTO Technology')",
"type": "string"
},
"siren": {
"description": "Numero SIREN (9 chiffres, ex: '418166096')",
"type": "string"
},
"siret": {
"description": "Numero SIRET (14 chiffres, ex: '41816609600069')",
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_entreprise"
},
{
"description": "Recherche un etablissement scolaire (ecole, college, lycee) par commune, code postal ou nom. Retourne les informations detaillees : adresse, contact, voies d'enseignement, services (restauration, internat, ULIS), sections (europeenne, sport, arts), education prioritaire. Source : Annuaire de l'education (data.education.gouv.fr), 68 000+ etablissements.",
"inputSchema": {
"properties": {
"code_insee": {
"description": "Code INSEE de la commune",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '69001', '93140')",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon', 'Bondy')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 10)",
"type": "number"
},
"nom": {
"description": "Nom de l'etablissement (recherche partielle, ex: 'Lacassagne')",
"type": "string"
},
"statut": {
"description": "Statut : public ou prive",
"enum": [
"public",
"prive"
],
"type": "string"
},
"type": {
"description": "Type d'etablissement : 'ecole', 'college', 'lycee', 'maternelle', 'elementaire', 'primaire', 'erea'",
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_etablissement_scolaire"
},
{
"description": "Consulte les indicateurs de valeur ajoutee (IVAL) d'un lycee : taux de reussite au bac, valeur ajoutee, taux d'acces 2nde-bac, taux de mentions. Couvre les lycees generaux/technologiques et professionnels, publics et prives sous contrat. Donnees DEPP session 2012-2024. Source : data.education.gouv.fr.",
"inputSchema": {
"properties": {
"code_insee": {
"description": "Code INSEE de la commune",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '69001')",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon', 'Bordeaux')",
"type": "string"
},
"evolution": {
"description": "Si true, retourne l'historique multi-annees (2012-2024) avec tendance, au lieu de la derniere session uniquement.",
"type": "boolean"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 10)",
"type": "number"
},
"nom_lycee": {
"description": "Nom du lycee (recherche partielle, ex: 'Lacassagne', 'Guimard')",
"type": "string"
},
"type": {
"description": "Voie : 'gt' (general/techno), 'pro' (professionnel), 'tous' (defaut)",
"enum": [
"gt",
"pro",
"tous"
],
"type": "string"
}
},
"type": "object"
},
"name": "consulter_resultats_lycee"
},
{
"description": "Consulte les resultats des evaluations nationales (6eme et CE2) par departement. Compare les scores departementaux au niveau national, avec repartition par groupes de niveau et tendance annuelle. Accepte un nom de commune, un code postal ou un code departement. Source : DEPP via data.education.gouv.fr.",
"inputSchema": {
"properties": {
"annee": {
"description": "Annee scolaire (ex: 2025). Par defaut : derniere disponible.",
"type": "number"
},
"code_departement": {
"description": "Code departement direct (ex: '93', '75', '2A', '971')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '93140') \u2014 resout le departement automatiquement",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Bondy', 'Lyon') \u2014 resout le departement automatiquement",
"type": "string"
},
"niveau": {
"description": "Niveau scolaire (defaut: 'tous')",
"enum": [
"6eme",
"CE2",
"tous"
],
"type": "string"
}
},
"type": "object"
},
"name": "consulter_evaluations_nationales"
},
{
"description": "Recherche des formations sur Parcoursup par mot-cle, ville, departement ou filiere. Retourne les informations detaillees : etablissement, selectivite, taux d'acces, capacite, nombre de voeux, profil des admis (bac, mentions, boursiers), lien fiche Parcoursup. Donnees session 2025. Source : Ministere de l'Enseignement superieur via data.education.gouv.fr.",
"inputSchema": {
"properties": {
"code_postal": {
"description": "Code postal (ex: '69001'). Resout automatiquement vers la ville.",
"type": "string"
},
"departement": {
"description": "Code departement (ex: '69', '93', '2A')",
"type": "string"
},
"filiere": {
"description": "Type de filiere : 'BUT', 'BTS', 'Licence', 'CPGE', 'PASS', 'LAS', 'IFSI', 'ingenieur'",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 10)",
"type": "number"
},
"recherche": {
"description": "Mot-cle ou intitule de formation (ex: 'informatique', 'BTS comptabilite', 'licence droit')",
"type": "string"
},
"ville": {
"description": "Ville de l'etablissement (ex: 'Lyon', 'Paris')",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_parcoursup"
},
{
"description": "Statistiques de selectivite Parcoursup par formation : taux d'acces, rang dernier appele, profil admis par bac (general/techno/pro), mentions, boursiers. Triees par selectivite croissante. Source : Parcoursup 2025 via data.education.gouv.fr.",
"inputSchema": {
"properties": {
"code_postal": {
"description": "Code postal pour filtrer par ville (ex: '69001')",
"type": "string"
},
"filiere": {
"description": "Filiere pour filtrer (ex: 'BTS', 'BUT', 'Licence', 'CPGE')",
"type": "string"
},
"formation": {
"description": "Intitule de la formation (ex: 'BTS comptabilite', 'licence informatique', 'CPGE scientifique')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 10)",
"type": "number"
},
"selective_uniquement": {
"description": "Si true : affiche uniquement les formations selectives (taux d'acces < 100 %)",
"type": "boolean"
},
"tri": {
"description": "Tri : 'selectivite' (plus selectif d'abord, defaut) ou 'voeux' (plus demande d'abord)",
"enum": [
"selectivite",
"voeux"
],
"type": "string"
},
"ville": {
"description": "Ville de l'etablissement pour filtrer (ex: 'Lyon', 'Paris')",
"type": "string"
}
},
"required": [
"formation"
],
"type": "object"
},
"name": "consulter_parcoursup_stats"
},
{
"description": "Consulte les donnees d'acces aux soins par departement : effectifs et densite des medecins generalistes et specialistes liberaux, patientele medecin traitant, primo-installations, installations en zones sous-dotees, file active. Compare avec les moyennes nationales. Accepte un nom de commune, un code postal ou un code departement. Source : Assurance Maladie (CNAM) via data.ameli.fr.",
"inputSchema": {
"properties": {
"code_departement": {
"description": "Code departement direct (ex: '93', '75', '2A', '971')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '93140') \u2014 resout le departement automatiquement",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Bondy', 'Lyon') \u2014 resout le departement automatiquement",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_acces_soins"
},
{
"description": "Consulte les indicateurs d'insertion professionnelle des lycees professionnels (InserJeunes). Taux d'emploi a 6/12/18/24 mois apres la sortie, taux de poursuite d'etudes, valeur ajoutee. Detail par formation (CAP, Bac Pro, BTS, Mention complementaire). Recherche par nom d'etablissement, ville, departement ou code UAI. Source : DEPP/DARES via data.education.gouv.fr.",
"inputSchema": {
"properties": {
"code_departement": {
"description": "Code departement (ex: '69', '93', '2A')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-10, defaut 5)",
"type": "number"
},
"recherche": {
"description": "Nom d'etablissement ou mot-cle (ex: 'coiffure', 'automobile')",
"type": "string"
},
"type_diplome": {
"description": "Filtrer par type de diplome (optionnel)",
"enum": [
"CAP",
"BAC PRO",
"BTS",
"MC3",
"MC4",
"BP"
],
"type": "string"
},
"uai": {
"description": "Code UAI de l'etablissement (ex: '0691723Y'). Retourne une fiche detaillee avec formations.",
"type": "string"
},
"ville": {
"description": "Ville de l'etablissement (ex: 'Lyon', 'Marseille')",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_insertion_professionnelle"
},
{
"description": "Consulte les statistiques de securite et delinquance par departement : cambriolages, vols, violences, homicides, escroqueries, stupefiants. Fournit le nombre de faits, le taux pour 1000 habitants et l'evolution annuelle. Accepte un nom de commune, un code postal ou un code departement. Source : SSMSI, Ministere de l'Interieur via data.gouv.fr.",
"inputSchema": {
"properties": {
"annee": {
"description": "Annee specifique (optionnel, defaut: derniere disponible)",
"type": "number"
},
"code_departement": {
"description": "Code departement (ex: '75', '93', '2A')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '93140') \u2014 resout le departement automatiquement",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon') \u2014 resout le departement automatiquement",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_securite"
},
{
"description": "Consulte les risques naturels et technologiques d'une commune : inondation, seisme, mouvement de terrain, risque industriel, feu de foret, etc. Liste les risques identifies et les arretes de catastrophe naturelle (CatNat) avec dates. Accepte un nom de commune, un code postal ou un code INSEE. Source : Georisques (BRGM/MTE) via georisques.gouv.fr.",
"inputSchema": {
"properties": {
"code_insee": {
"description": "Code INSEE de la commune (ex: '30189'). Prioritaire si fourni.",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '30000')",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Nimes', 'Vaison-la-Romaine')",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_risques_naturels"
},
{
"description": "Recherche dans les textes legislatifs et reglementaires francais (lois, decrets, arretes, ordonnances) par mots-cles. Retourne les textes correspondants avec leur nature, date et lien Legifrance. Source : API Legifrance officielle (PISTE/DILA).",
"inputSchema": {
"properties": {
"champ": {
"description": "Champ de recherche (defaut: ALL)",
"enum": [
"ALL",
"TITLE",
"ARTICLE",
"NUM_ARTICLE"
],
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 5)",
"type": "number"
},
"recherche": {
"description": "Mots-cles de recherche (ex: 'protection donnees personnelles', 'teletravail conges')",
"type": "string"
},
"type_recherche": {
"description": "Type de recherche (defaut: TOUS_LES_MOTS_DANS_UN_CHAMP)",
"enum": [
"TOUS_LES_MOTS_DANS_UN_CHAMP",
"EXACTE",
"UN_DES_MOTS"
],
"type": "string"
}
},
"required": [
"recherche"
],
"type": "object"
},
"name": "rechercher_texte_legal"
},
{
"description": "Recherche d'articles dans les codes de loi francais (Code civil, Code du travail, Code penal, Code de commerce, etc.). Retourne les articles avec leur numero, contenu et lien Legifrance. Source : API Legifrance officielle (PISTE/DILA).",
"inputSchema": {
"properties": {
"champ": {
"description": "Champ de recherche (defaut: ALL)",
"enum": [
"ALL",
"TITLE",
"ARTICLE",
"NUM_ARTICLE"
],
"type": "string"
},
"code": {
"description": "Nom complet du code juridique (ex: 'Code civil', 'Code du travail', 'Code penal', 'Code de commerce')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 5)",
"type": "number"
},
"recherche": {
"description": "Termes de recherche (ex: 'contrat de travail', 'legitime defense', 'clause abusive')",
"type": "string"
},
"type_recherche": {
"description": "Type de recherche (defaut: TOUS_LES_MOTS_DANS_UN_CHAMP)",
"enum": [
"TOUS_LES_MOTS_DANS_UN_CHAMP",
"EXACTE",
"UN_DES_MOTS"
],
"type": "string"
}
},
"required": [
"recherche",
"code"
],
"type": "object"
},
"name": "rechercher_code_juridique"
},
{
"description": "Recherche dans le Journal Officiel de la Republique Francaise (JORF). Retourne les textes publies au JO avec leur titre, nature, date, NOR et lien Legifrance. Filtrage par type (LOI/DECRET/ARRETE/ORDONNANCE...) et plage de dates. Source : API PISTE officielle DILA/Legifrance.",
"inputSchema": {
"properties": {
"date_debut": {
"description": "Date de debut au format YYYY-MM-DD (ex: '2024-01-01')",
"type": "string"
},
"date_fin": {
"description": "Date de fin au format YYYY-MM-DD (ex: '2024-12-31')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 5)",
"type": "number"
},
"recherche": {
"description": "Termes de recherche (ex: 'teletravail', 'protection donnees', 'loi finances 2025')",
"type": "string"
},
"type_texte": {
"description": "Filtrer par nature du texte (optionnel)",
"enum": [
"LOI",
"DECRET",
"ARRETE",
"ORDONNANCE",
"CIRCULAIRE",
"AVIS",
"DECISION"
],
"type": "string"
}
},
"required": [
"recherche"
],
"type": "object"
},
"name": "consulter_journal_officiel"
},
{
"description": "Statistiques CAF par commune ou departement : nombre de foyers allocataires et personnes couvertes pour RSA, aides au logement (APL/ALS/ALF), AAH, allocations familiales, prime d'activite et autres prestations. Donnees agregees anonymisees depuis 2020. Source : CNAF \u2014 data.caf.fr.",
"inputSchema": {
"properties": {
"annee": {
"description": "Annee specifique (ex: 2022). Par defaut : derniere annee disponible.",
"type": "number"
},
"code_departement": {
"description": "Code departement (ex: '93', '75', '2A')",
"type": "string"
},
"code_insee": {
"description": "Code INSEE de la commune (ex: '93010')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '93140')",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon', 'Bondy')",
"type": "string"
},
"prestation": {
"description": "Code de prestation a filtrer : RSA, AL, AAH, AF, PA, CF, ASF, CMG... ou 'toutes' (defaut)",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_aide_sociale"
},
{
"description": "Recherche d'avis de marches publics (appels d'offres, attributions, MAPA, DSP) dans le BOAMP (Bulletin officiel des annonces des marches publics). Filtrage par mots-cles, type d'avis, departement, acheteur ou periode. Source : API BOAMP \u2014 DILA.",
"inputSchema": {
"properties": {
"acheteur": {
"description": "Nom de l'acheteur public (ex: 'Commune de Lyon', 'Departement du Rhone')",
"type": "string"
},
"date_debut": {
"description": "Date de debut au format YYYY-MM-DD",
"type": "string"
},
"date_fin": {
"description": "Date de fin au format YYYY-MM-DD",
"type": "string"
},
"departement": {
"description": "Code departement (ex: '75', '93', '69')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 10)",
"type": "number"
},
"recherche": {
"description": "Mots-cles sur l'objet du marche (ex: 'travaux voirie', 'fourniture informatique', 'nettoyage locaux')",
"type": "string"
},
"type_avis": {
"description": "Type d'avis : AAC=Appel a la concurrence, APC=Attribution, MAPA=Procedure adaptee, DSP=Delegation service public",
"enum": [
"AAC",
"APC",
"MAPA",
"DSP"
],
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_marche_public"
},
{
"description": "Consulte les comptes financiers d'un EPCI (metropole, CA, CC, CU) : recettes, depenses, dette. Donnees 2017-2024. Source : OFGL.",
"inputSchema": {
"properties": {
"annee": {
"description": "Annee du budget (2017-2024). Par defaut : derniere disponible.",
"type": "number"
},
"code_siren": {
"description": "Code SIREN de l'EPCI (9 chiffres)",
"type": "string"
},
"commune": {
"description": "Commune membre (l'EPCI sera resolu automatiquement)",
"type": "string"
},
"epci": {
"description": "Nom de l'EPCI (ex: 'Bordeaux Metropole', 'Rennes Metropole')",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_budget_epci"
},
{
"description": "Consulte les comptes financiers d'une commune : recettes, depenses, epargne brute, encours de dette, investissements. Donnees 2017-2024. Source : OFGL via data.ofgl.fr.",
"inputSchema": {
"properties": {
"annee": {
"description": "Annee du budget (2017-2024). Par defaut : derniere disponible.",
"type": "number"
},
"code_insee": {
"description": "Code INSEE de la commune (ex: '69123')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '69001')",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon', 'Bordeaux')",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_budget_commune"
},
{
"description": "Recherche des subventions versees par les collectivites locales et organismes publics. Filtrage par beneficiaire, attribuant, objet, montant minimum et annee. Source : data.gouv.fr (obligation legale > 23 000 EUR).",
"inputSchema": {
"properties": {
"annee": {
"description": "Annee de la convention (ex: 2023)",
"type": "number"
},
"attribuant": {
"description": "Nom de l'organisme attribuant (commune, departement, metropole...)",
"type": "string"
},
"beneficiaire": {
"description": "Nom du beneficiaire (association, organisme, entreprise)",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-50, defaut 10)",
"type": "number"
},
"montant_min": {
"description": "Montant minimum en euros (ex: 10000)",
"type": "number"
},
"objet": {
"description": "Objet ou descriptif de la subvention (recherche partielle)",
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_subvention"
},
{
"description": "Recherche des entreprises par secteur d'activite (code NAF/APE) et zone geographique. Retourne les informations SIRENE : nom, etat (actif/cesse), dates de creation et fermeture. Source : API Recherche Entreprises (DINUM).",
"inputSchema": {
"properties": {
"code_departement": {
"description": "Code departement (ex: '69', '75')",
"type": "string"
},
"code_naf": {
"description": "Code NAF/APE (ex: '10.71C' boulangerie, '56.10A' restauration, '62.01Z' informatique)",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '69001')",
"type": "string"
},
"commune": {
"description": "Commune (ex: 'Lyon', 'Paris')",
"type": "string"
},
"etat": {
"description": "Filtrer par etat : actif (A) ou cesse (C). Par defaut : tous.",
"enum": [
"actif",
"cesse"
],
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-25, defaut 10)",
"type": "number"
}
},
"type": "object"
},
"name": "consulter_sirene_historique"
},
{
"description": "Recherche d'annonces legales dans le BODACC (Bulletin officiel des annonces civiles et commerciales) : ventes et cessions, immatriculations, radiations, modifications, procedures collectives, depots de comptes. Filtrage par entreprise, SIREN, type d'annonce, departement ou periode. Source : API BODACC \u2014 DILA.",
"inputSchema": {
"properties": {
"date_debut": {
"description": "Date de debut au format YYYY-MM-DD",
"type": "string"
},
"date_fin": {
"description": "Date de fin au format YYYY-MM-DD",
"type": "string"
},
"departement": {
"description": "Code departement (ex: '75', '69')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 10)",
"type": "number"
},
"nom_entreprise": {
"description": "Nom exact ou partiel de l'entreprise",
"type": "string"
},
"recherche": {
"description": "Recherche par nom d'entreprise ou ville (ex: 'SARL Martin', 'Bordeaux')",
"type": "string"
},
"siren": {
"description": "Numero SIREN de l'entreprise (9 chiffres)",
"type": "string"
},
"type_annonce": {
"description": "Type d'annonce a filtrer",
"enum": [
"vente_cession",
"immatriculation",
"radiation",
"procedure_collective",
"modification"
],
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_annonce_legale"
},
{
"description": "Recherche d'offres d'emploi actives en temps reel via France Travail. Filtrage par mots-cles, commune, code postal, departement, type de contrat (CDI/CDD/MIS...) et qualification (cadre/non-cadre). Necessite les secrets FT_CLIENT_ID / FT_CLIENT_SECRET (inscription gratuite sur francetravail.io). Source : API Offres d'emploi v2 \u2014 France Travail.",
"inputSchema": {
"properties": {
"code_postal": {
"description": "Code postal (ex: '69001'). Resout en code commune.",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon', 'Paris'). Resout automatiquement en code commune.",
"type": "string"
},
"departement": {
"description": "Code departement (ex: '75', '69', '93'). Alternative a commune/code_postal.",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-30, defaut 10)",
"type": "number"
},
"mots_cles": {
"description": "Mots-cles sur l'intitule ou la description du poste (ex: 'developpeur TypeScript', 'infirmier', 'comptable')",
"type": "string"
},
"qualification": {
"description": "Niveau de qualification (optionnel)",
"enum": [
"cadre",
"non-cadre"
],
"type": "string"
},
"type_contrat": {
"description": "Type de contrat : CDI, CDD, MIS (interim), SAI (saisonnier), LIB (liberale), REP (reprise), CUI (aide), PRO (professionnalisation)",
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_offre_emploi"
},
{
"description": "Prix des carburants en temps reel pour un departement ou une commune. Retourne les stations triees par prix croissant avec Gazole, SP95, SP98, E10, E85, GPLc et indicateur automate 24/24. Source : data.economie.gouv.fr (flux instantane, MAJ toutes les 10 min).",
"inputSchema": {
"properties": {
"carburant": {
"description": "Type de carburant a filtrer et trier (optionnel \u2014 tous les prix affiches si absent)",
"enum": [
"Gazole",
"SP95",
"SP98",
"E10",
"E85",
"GPLc"
],
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '69001')",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon', 'Bordeaux')",
"type": "string"
},
"departement": {
"description": "Numero ou nom du departement (ex: '69', 'Rhone', '13')",
"type": "string"
},
"limit": {
"description": "Nombre de stations (1-20, defaut 10)",
"type": "number"
}
},
"type": "object"
},
"name": "consulter_prix_carburant"
},
{
"description": "Recherche des formations professionnelles eligibles au CPF (MonCompteFormation). Filtrage par mot-cle, departement, code ROME, niveau de sortie ou modalite a distance. Retourne l'organisme, la certification, le niveau, les codes ROME, les frais TTC et le nombre de sessions actives. Source : data.gouv.fr \u2014 catalogue national MCF.",
"inputSchema": {
"properties": {
"a_distance": {
"description": "Si true, retourne uniquement les formations avec au moins une session a distance",
"type": "boolean"
},
"code_rome": {
"description": "Code ROME (ex: 'M1805', 'E1206'). Recherche dans les 5 codes ROME de la formation.",
"type": "string"
},
"departement": {
"description": "Code departement (ex: '69', '75', '93')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-50, defaut 10)",
"type": "number"
},
"niveau": {
"description": "Niveau de sortie de la formation (ex: 'bac+2', 'licence', 'master', 'CAP')",
"type": "string"
},
"recherche": {
"description": "Mot-cle dans l'intitule de la formation (ex: 'comptabilite', 'developpeur web', 'bilan de competences')",
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_formation"
},
{
"description": "Recherche de jurisprudence judiciaire francaise : arrets de la Cour de cassation et cours d'appel. Retourne les decisions avec juridiction, formation, solution et lien Legifrance. Source : API Legifrance officielle (PISTE/DILA).",
"inputSchema": {
"properties": {
"juridiction": {
"description": "Filtrer par juridiction (defaut: Toutes)",
"enum": [
"Cour de cassation",
"Cours d'appel",
"Toutes"
],
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 5)",
"type": "number"
},
"publie_bulletin": {
"description": "Filtrer les arrets publies au bulletin (Cour de cassation uniquement). Optionnel.",
"type": "boolean"
},
"recherche": {
"description": "Termes de recherche (ex: 'licenciement abusif', 'prejudice moral', 'clause non-concurrence')",
"type": "string"
}
},
"required": [
"recherche"
],
"type": "object"
},
"name": "rechercher_jurisprudence"
}
]
}
},
"url": "https://mcp-service-public.nhaultcoeur.workers.dev/mcp"
},
"latency_ms": 13.12,
"status": "ok"
},
"transport_compliance_probe": {
"details": {
"bad_protocol_error": null,
"bad_protocol_headers": {
"content-type": "application/json"
},
"bad_protocol_payload": {
"id": 410,
"jsonrpc": "2.0",
"result": {
"tools": [
{
"description": "Recherche unifiee intelligente : dispatche vers fiches DILA, BOFiP, DVF, fiscalite locale, simulation TF/frais notaire/IR, zonage ABC/Pinel, conventions collectives, etablissements scolaires, resultats lycees, Parcoursup, acces aux soins, insertion pro, securite, risques naturels, codes juridiques, jurisprudence, textes legaux, JO, marches publics, annonces BODACC, aide sociale CAF, budget commune/EPCI, subventions, SIRENE, offres emploi France Travail, prix carburants, formations CPF (MonCompteFormation). A utiliser en premier si la source n'est pas evidente.",
"inputSchema": {
"properties": {
"limit": {
"description": "Nombre de r\u00e9sultats (1-10, d\u00e9faut 5)",
"type": "number"
},
"query": {
"description": "Question ou termes de recherche en langage naturel (ex: 'taxe fonci\u00e8re \u00e0 Lyon', 'renouveler passeport', 'prix immobilier \u00e0 Bondy', 'frais de notaire 250000 euros', 'zone Pinel Bordeaux', 'convention collective b\u00e2timent', 'combien d imp\u00f4t pour 40000 euros mari\u00e9 2 enfants')",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "rechercher"
},
{
"description": "Recherche dans les fiches pratiques de service-public.fr (droits, d\u00e9marches administratives). Utilise la recherche plein texte.",
"inputSchema": {
"properties": {
"audience": {
"description": "Public cible",
"enum": [
"Particuliers",
"Professionnels",
"Associations"
],
"type": "string"
},
"limit": {
"description": "Nombre de r\u00e9sultats (1-20, d\u00e9faut 10)",
"type": "number"
},
"query": {
"description": "Termes de recherche (ex: 'passeport', 'allocation logement')",
"type": "string"
},
"theme": {
"description": "Filtrer par th\u00e8me (ex: 'Papiers', 'Logement')",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "rechercher_fiche"
},
{
"description": "Lit le contenu complet d'une fiche pratique par son identifiant (ex: F14929 pour le passeport).",
"inputSchema": {
"properties": {
"fiche_id": {
"description": "Identifiant de la fiche (ex: F14929, N360, R42946)",
"type": "string"
}
},
"required": [
"fiche_id"
],
"type": "object"
},
"name": "lire_fiche"
},
{
"description": "Recherche un service public local (mairie, pr\u00e9fecture, CAF, CPAM, France Services...) via l'Annuaire de l'administration.",
"inputSchema": {
"properties": {
"code_insee": {
"description": "Code INSEE de la commune",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '75001')",
"type": "string"
},
"commune": {
"description": "Nom de la commune",
"type": "string"
},
"limit": {
"description": "Nombre de r\u00e9sultats (1-20, d\u00e9faut 5)",
"type": "number"
},
"type_organisme": {
"description": "Type de service (ex: 'mairie', 'prefecture', 'caf')",
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_service_local"
},
{
"description": "Parcourt l'arborescence th\u00e9matique de service-public.fr. Sans param\u00e8tre, liste les th\u00e8mes principaux.",
"inputSchema": {
"properties": {
"theme_id": {
"description": "ID du th\u00e8me \u00e0 explorer (ex: N19810, N360)",
"type": "string"
}
},
"type": "object"
},
"name": "naviguer_themes"
},
{
"description": "Consulte les taux d'imposition locale d'une commune (taxe fonci\u00e8re, taxe d'habitation, TEOM, CFE). Accepte un nom de commune, un code INSEE ou un code postal. Sans exercice pr\u00e9cis\u00e9, affiche l'\u00e9volution sur 4 ans avec tendance. Donn\u00e9es REI de la DGFiP via data.economie.gouv.fr.",
"inputSchema": {
"properties": {
"code_insee": {
"description": "Code INSEE de la commune (ex: '75056', '69123')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '93140', '75001'). R\u00e9sout automatiquement vers le(s) code(s) INSEE.",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'PARIS', 'LYON')",
"type": "string"
},
"communes": {
"description": "Liste de communes \u00e0 comparer (2-5 noms en majuscules, ex: ['PARIS', 'LYON', 'MARSEILLE']). Active le mode comparaison c\u00f4te \u00e0 c\u00f4te.",
"items": {
"type": "string"
},
"maxItems": 5,
"minItems": 2,
"type": "array"
},
"exercice": {
"description": "Ann\u00e9e fiscale (ex: '2024'). Sans exercice : affiche l'\u00e9volution sur toutes les ann\u00e9es disponibles.",
"type": "string"
},
"type": {
"description": "Type de fiscalit\u00e9 (d\u00e9faut: particuliers)",
"enum": [
"particuliers",
"entreprises"
],
"type": "string"
}
},
"type": "object"
},
"name": "consulter_fiscalite_locale"
},
{
"description": "Recherche dans la doctrine fiscale officielle (BOFiP - Bulletin Officiel des Finances Publiques). Couvre IR, TVA, IS, plus-values, etc.",
"inputSchema": {
"properties": {
"limit": {
"description": "Nombre de r\u00e9sultats (1-10, d\u00e9faut 5)",
"type": "number"
},
"query": {
"description": "Termes de recherche (ex: 'plus-values immobili\u00e8res', 'cr\u00e9dit imp\u00f4t recherche')",
"type": "string"
},
"serie": {
"description": "Filtrer par s\u00e9rie BOFiP (ex: 'IR', 'TVA', 'IS', 'RFPI', 'BIC')",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "rechercher_doctrine_fiscale"
},
{
"description": "Consulte les transactions immobili\u00e8res (DVF - Demandes de Valeurs Fonci\u00e8res) d'une commune. Fournit prix m\u00e9dians, prix au m\u00b2, r\u00e9partition par type de bien et nombre de pi\u00e8ces. Avec evolution=true, retourne l'historique des prix m\u00e9dians par ann\u00e9e (2019-aujourd'hui) avec tendance. Donn\u00e9es DGFiP via data.gouv.fr. Hors Alsace, Moselle et Mayotte.",
"inputSchema": {
"properties": {
"annee": {
"description": "Filtrer sur une ann\u00e9e sp\u00e9cifique (ex: 2024). Par d\u00e9faut : 2 derni\u00e8res ann\u00e9es.",
"type": "number"
},
"code_insee": {
"description": "Code INSEE de la commune (ex: '93010')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '93140'). R\u00e9sout automatiquement vers le(s) code(s) INSEE.",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Bondy', 'Lyon')",
"type": "string"
},
"evolution": {
"description": "Si true, retourne l'\u00e9volution des prix m\u00e9dians ann\u00e9e par ann\u00e9e (2019-aujourd'hui) avec tendance hausse/baisse/stable. Ignore le param\u00e8tre annee.",
"type": "boolean"
},
"type_local": {
"description": "Filtrer par type de bien",
"enum": [
"Appartement",
"Maison",
"Local industriel. commercial ou assimil\u00e9"
],
"type": "string"
}
},
"type": "object"
},
"name": "consulter_transactions_immobilieres"
},
{
"description": "Estime la taxe fonci\u00e8re annuelle d'un bien immobilier. Combine les vrais taux communaux (REI DGFiP) avec une estimation de la valeur locative cadastrale ajust\u00e9e au march\u00e9 local via les transactions DVF. Accepte un nom de commune, un code INSEE ou un code postal. D\u00e9compose les taux par collectivit\u00e9 (commune, EPCI, syndicat, GEMAPI, TSE, TASA). D\u00e9tecte l'exon\u00e9ration construction neuve 2 ans (art. 1383 CGI). Simule le sc\u00e9nario d'abattement r\u00e9sidence principale si vot\u00e9 par la commune. R\u00e9sultat indicatif uniquement.",
"inputSchema": {
"properties": {
"annee_construction": {
"description": "Ann\u00e9e de construction (optionnel, influence le coefficient d'entretien et d\u00e9tecte l'exon\u00e9ration 2 ans)",
"type": "number"
},
"code_insee": {
"description": "Code INSEE de la commune (ex: '69123')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '33000'). R\u00e9sout automatiquement vers le code INSEE.",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon', 'Bordeaux')",
"type": "string"
},
"nombre_pieces": {
"description": "Nombre de pi\u00e8ces principales (optionnel, estim\u00e9 si absent)",
"type": "number"
},
"residence_principale": {
"description": "S'il s'agit de la r\u00e9sidence principale (optionnel, affiche les exon\u00e9rations possibles)",
"type": "boolean"
},
"surface": {
"description": "Surface habitable en m\u00b2 (ex: 75)",
"type": "number"
},
"type_bien": {
"description": "Type de bien immobilier",
"enum": [
"Maison",
"Appartement"
],
"type": "string"
}
},
"required": [
"surface",
"type_bien"
],
"type": "object"
},
"name": "simuler_taxe_fonciere"
},
{
"description": "Estime les frais de notaire (frais d'acquisition) pour un achat immobilier. Calcule les droits de mutation (DMTO), \u00e9moluments du notaire (bar\u00e8me d\u00e9gressif r\u00e9glement\u00e9), contribution de s\u00e9curit\u00e9 immobili\u00e8re et d\u00e9bours. Distingue ancien (7-8 %) et neuf (2-3 %). Si le d\u00e9partement est pr\u00e9cis\u00e9, applique le taux DMTO exact (normal 5,81 % ou major\u00e9 6,32 % selon le d\u00e9partement, LF 2025). Sans d\u00e9partement, affiche les deux hypoth\u00e8ses. Accepte un code d\u00e9partement, un code postal ou un num\u00e9ro de d\u00e9partement.",
"inputSchema": {
"properties": {
"departement": {
"description": "D\u00e9partement (code 2-3 chiffres, code postal 5 chiffres, ou '2A'/'2B' pour la Corse). Permet d'appliquer le taux DMTO exact.",
"type": "string"
},
"prix": {
"description": "Prix d'achat du bien en euros (ex: 250000)",
"type": "number"
},
"type": {
"description": "Type de bien : ancien ou neuf",
"enum": [
"ancien",
"neuf"
],
"type": "string"
}
},
"required": [
"prix",
"type"
],
"type": "object"
},
"name": "simuler_frais_notaire"
},
{
"description": "Consulte la zone ABC d'une commune (A bis, A, B1, B2, C) utilis\u00e9e pour les dispositifs immobiliers (Pinel, PTZ, plafonds loyers). Accepte un nom de commune, un code INSEE ou un code postal. Retourne la zone, les plafonds de loyer, les plafonds de ressources et l'\u00e9ligibilit\u00e9 aux dispositifs. Source : Minist\u00e8re de la Transition \u00e9cologique via data.gouv.fr.",
"inputSchema": {
"properties": {
"code_insee": {
"description": "Code INSEE de la commune (ex: '69123')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '33000'). R\u00e9sout automatiquement vers le code INSEE.",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon', 'Bordeaux')",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_zonage_immobilier"
},
{
"description": "Compare 2 \u00e0 5 communes sur un tableau crois\u00e9 : population et densit\u00e9, fiscalit\u00e9 locale (taux TFB, TEOM), prix immobiliers (DVF m\u00e9dian/m\u00b2 appart et maison), zonage ABC, services publics locaux, \u00e9tablissements scolaires, scores 6\u00e8me, s\u00e9curit\u00e9 d\u00e9partementale (cambriolages, vols, violences), risques naturels (nombre de risques, arr\u00eat\u00e9s CatNat), donn\u00e9es sant\u00e9 (densit\u00e9 m\u00e9decins) et intercommunalit\u00e9. Aide \u00e0 la d\u00e9cision pour un d\u00e9m\u00e9nagement ou un investissement. Accepte des noms de communes, codes postaux ou codes INSEE.",
"inputSchema": {
"properties": {
"communes": {
"description": "Liste de 2 \u00e0 5 communes \u00e0 comparer (noms, codes postaux ou codes INSEE). Ex: ['Lyon', 'Bordeaux', 'Nantes']",
"items": {
"type": "string"
},
"maxItems": 5,
"minItems": 2,
"type": "array"
}
},
"required": [
"communes"
],
"type": "object"
},
"name": "comparer_communes"
},
{
"description": "Estime l'impot sur le revenu (IR) selon le bareme progressif 2025 (revenus 2024). Calcule le quotient familial, applique le plafonnement, la decote et la contribution exceptionnelle hauts revenus (CEHR). Parametres : revenu net imposable (obligatoire), nombre de parts OU situation familiale + nombre d'enfants. Options : revenus fonciers (micro-foncier 30% abattement ou reel), revenus de capitaux (PFU 30% ou bareme), micro-BIC (abattement 50%), micro-BNC (abattement 34%).",
"inputSchema": {
"properties": {
"micro_bic": {
"description": "Chiffre d'affaires micro-BIC en euros (abattement 50 %). Optionnel.",
"type": "number"
},
"micro_bnc": {
"description": "Recettes micro-BNC en euros (abattement 34 %). Optionnel.",
"type": "number"
},
"nb_enfants": {
"description": "Nombre d'enfants a charge (optionnel, defaut 0)",
"type": "number"
},
"nb_parts": {
"description": "Nombre de parts fiscales (optionnel, defaut 1). Prioritaire sur situation + nb_enfants.",
"type": "number"
},
"regime_capitaux": {
"description": "Imposition des capitaux (defaut: pfu). PFU = flat tax 30 %, bareme = integration au revenu global.",
"enum": [
"pfu",
"bareme"
],
"type": "string"
},
"regime_foncier": {
"description": "Regime foncier (defaut: micro). Micro = abattement 30 %, reel = montant net fourni.",
"enum": [
"micro",
"reel"
],
"type": "string"
},
"revenu_net_imposable": {
"description": "Revenu net imposable en euros (ex: 42000)",
"type": "number"
},
"revenus_capitaux": {
"description": "Revenus de capitaux mobiliers en euros (dividendes, interets, plus-values). Optionnel.",
"type": "number"
},
"revenus_fonciers": {
"description": "Revenus fonciers bruts en euros (optionnel). Negatif possible en regime reel (deficit foncier).",
"type": "number"
},
"situation": {
"description": "Situation familiale (optionnel, permet le calcul auto des parts)",
"enum": [
"celibataire",
"marie",
"pacse",
"divorce",
"veuf"
],
"type": "string"
}
},
"required": [
"revenu_net_imposable"
],
"type": "object"
},
"name": "simuler_impot_revenu"
},
{
"description": "Recherche une convention collective nationale par numero IDCC, secteur d'activite ou mot-cle. Source : base KALI (DILA) via data.gouv.fr. Retourne le titre, l'IDCC, l'etat (en vigueur/abrogee), la nature et le lien Legifrance.",
"inputSchema": {
"properties": {
"idcc": {
"description": "Numero IDCC (ex: '843', '3248')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 10)",
"type": "number"
},
"query": {
"description": "Mot-cle ou secteur d'activite (ex: 'boulangerie', 'metallurgie', 'batiment')",
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_convention_collective"
},
{
"description": "Recherche une entreprise francaise par SIRET, SIREN ou nom. Retourne les informations legales (forme juridique, NAF, effectif, dirigeants, adresse) et la ou les convention(s) collective(s) applicable(s) avec detail KALI. Source : API Recherche d'entreprises (DINUM) + KALI (DILA).",
"inputSchema": {
"properties": {
"nom": {
"description": "Nom ou raison sociale de l'entreprise (ex: 'OCTO Technology')",
"type": "string"
},
"siren": {
"description": "Numero SIREN (9 chiffres, ex: '418166096')",
"type": "string"
},
"siret": {
"description": "Numero SIRET (14 chiffres, ex: '41816609600069')",
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_entreprise"
},
{
"description": "Recherche un etablissement scolaire (ecole, college, lycee) par commune, code postal ou nom. Retourne les informations detaillees : adresse, contact, voies d'enseignement, services (restauration, internat, ULIS), sections (europeenne, sport, arts), education prioritaire. Source : Annuaire de l'education (data.education.gouv.fr), 68 000+ etablissements.",
"inputSchema": {
"properties": {
"code_insee": {
"description": "Code INSEE de la commune",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '69001', '93140')",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon', 'Bondy')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 10)",
"type": "number"
},
"nom": {
"description": "Nom de l'etablissement (recherche partielle, ex: 'Lacassagne')",
"type": "string"
},
"statut": {
"description": "Statut : public ou prive",
"enum": [
"public",
"prive"
],
"type": "string"
},
"type": {
"description": "Type d'etablissement : 'ecole', 'college', 'lycee', 'maternelle', 'elementaire', 'primaire', 'erea'",
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_etablissement_scolaire"
},
{
"description": "Consulte les indicateurs de valeur ajoutee (IVAL) d'un lycee : taux de reussite au bac, valeur ajoutee, taux d'acces 2nde-bac, taux de mentions. Couvre les lycees generaux/technologiques et professionnels, publics et prives sous contrat. Donnees DEPP session 2012-2024. Source : data.education.gouv.fr.",
"inputSchema": {
"properties": {
"code_insee": {
"description": "Code INSEE de la commune",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '69001')",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon', 'Bordeaux')",
"type": "string"
},
"evolution": {
"description": "Si true, retourne l'historique multi-annees (2012-2024) avec tendance, au lieu de la derniere session uniquement.",
"type": "boolean"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 10)",
"type": "number"
},
"nom_lycee": {
"description": "Nom du lycee (recherche partielle, ex: 'Lacassagne', 'Guimard')",
"type": "string"
},
"type": {
"description": "Voie : 'gt' (general/techno), 'pro' (professionnel), 'tous' (defaut)",
"enum": [
"gt",
"pro",
"tous"
],
"type": "string"
}
},
"type": "object"
},
"name": "consulter_resultats_lycee"
},
{
"description": "Consulte les resultats des evaluations nationales (6eme et CE2) par departement. Compare les scores departementaux au niveau national, avec repartition par groupes de niveau et tendance annuelle. Accepte un nom de commune, un code postal ou un code departement. Source : DEPP via data.education.gouv.fr.",
"inputSchema": {
"properties": {
"annee": {
"description": "Annee scolaire (ex: 2025). Par defaut : derniere disponible.",
"type": "number"
},
"code_departement": {
"description": "Code departement direct (ex: '93', '75', '2A', '971')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '93140') \u2014 resout le departement automatiquement",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Bondy', 'Lyon') \u2014 resout le departement automatiquement",
"type": "string"
},
"niveau": {
"description": "Niveau scolaire (defaut: 'tous')",
"enum": [
"6eme",
"CE2",
"tous"
],
"type": "string"
}
},
"type": "object"
},
"name": "consulter_evaluations_nationales"
},
{
"description": "Recherche des formations sur Parcoursup par mot-cle, ville, departement ou filiere. Retourne les informations detaillees : etablissement, selectivite, taux d'acces, capacite, nombre de voeux, profil des admis (bac, mentions, boursiers), lien fiche Parcoursup. Donnees session 2025. Source : Ministere de l'Enseignement superieur via data.education.gouv.fr.",
"inputSchema": {
"properties": {
"code_postal": {
"description": "Code postal (ex: '69001'). Resout automatiquement vers la ville.",
"type": "string"
},
"departement": {
"description": "Code departement (ex: '69', '93', '2A')",
"type": "string"
},
"filiere": {
"description": "Type de filiere : 'BUT', 'BTS', 'Licence', 'CPGE', 'PASS', 'LAS', 'IFSI', 'ingenieur'",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 10)",
"type": "number"
},
"recherche": {
"description": "Mot-cle ou intitule de formation (ex: 'informatique', 'BTS comptabilite', 'licence droit')",
"type": "string"
},
"ville": {
"description": "Ville de l'etablissement (ex: 'Lyon', 'Paris')",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_parcoursup"
},
{
"description": "Statistiques de selectivite Parcoursup par formation : taux d'acces, rang dernier appele, profil admis par bac (general/techno/pro), mentions, boursiers. Triees par selectivite croissante. Source : Parcoursup 2025 via data.education.gouv.fr.",
"inputSchema": {
"properties": {
"code_postal": {
"description": "Code postal pour filtrer par ville (ex: '69001')",
"type": "string"
},
"filiere": {
"description": "Filiere pour filtrer (ex: 'BTS', 'BUT', 'Licence', 'CPGE')",
"type": "string"
},
"formation": {
"description": "Intitule de la formation (ex: 'BTS comptabilite', 'licence informatique', 'CPGE scientifique')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 10)",
"type": "number"
},
"selective_uniquement": {
"description": "Si true : affiche uniquement les formations selectives (taux d'acces < 100 %)",
"type": "boolean"
},
"tri": {
"description": "Tri : 'selectivite' (plus selectif d'abord, defaut) ou 'voeux' (plus demande d'abord)",
"enum": [
"selectivite",
"voeux"
],
"type": "string"
},
"ville": {
"description": "Ville de l'etablissement pour filtrer (ex: 'Lyon', 'Paris')",
"type": "string"
}
},
"required": [
"formation"
],
"type": "object"
},
"name": "consulter_parcoursup_stats"
},
{
"description": "Consulte les donnees d'acces aux soins par departement : effectifs et densite des medecins generalistes et specialistes liberaux, patientele medecin traitant, primo-installations, installations en zones sous-dotees, file active. Compare avec les moyennes nationales. Accepte un nom de commune, un code postal ou un code departement. Source : Assurance Maladie (CNAM) via data.ameli.fr.",
"inputSchema": {
"properties": {
"code_departement": {
"description": "Code departement direct (ex: '93', '75', '2A', '971')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '93140') \u2014 resout le departement automatiquement",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Bondy', 'Lyon') \u2014 resout le departement automatiquement",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_acces_soins"
},
{
"description": "Consulte les indicateurs d'insertion professionnelle des lycees professionnels (InserJeunes). Taux d'emploi a 6/12/18/24 mois apres la sortie, taux de poursuite d'etudes, valeur ajoutee. Detail par formation (CAP, Bac Pro, BTS, Mention complementaire). Recherche par nom d'etablissement, ville, departement ou code UAI. Source : DEPP/DARES via data.education.gouv.fr.",
"inputSchema": {
"properties": {
"code_departement": {
"description": "Code departement (ex: '69', '93', '2A')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-10, defaut 5)",
"type": "number"
},
"recherche": {
"description": "Nom d'etablissement ou mot-cle (ex: 'coiffure', 'automobile')",
"type": "string"
},
"type_diplome": {
"description": "Filtrer par type de diplome (optionnel)",
"enum": [
"CAP",
"BAC PRO",
"BTS",
"MC3",
"MC4",
"BP"
],
"type": "string"
},
"uai": {
"description": "Code UAI de l'etablissement (ex: '0691723Y'). Retourne une fiche detaillee avec formations.",
"type": "string"
},
"ville": {
"description": "Ville de l'etablissement (ex: 'Lyon', 'Marseille')",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_insertion_professionnelle"
},
{
"description": "Consulte les statistiques de securite et delinquance par departement : cambriolages, vols, violences, homicides, escroqueries, stupefiants. Fournit le nombre de faits, le taux pour 1000 habitants et l'evolution annuelle. Accepte un nom de commune, un code postal ou un code departement. Source : SSMSI, Ministere de l'Interieur via data.gouv.fr.",
"inputSchema": {
"properties": {
"annee": {
"description": "Annee specifique (optionnel, defaut: derniere disponible)",
"type": "number"
},
"code_departement": {
"description": "Code departement (ex: '75', '93', '2A')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '93140') \u2014 resout le departement automatiquement",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon') \u2014 resout le departement automatiquement",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_securite"
},
{
"description": "Consulte les risques naturels et technologiques d'une commune : inondation, seisme, mouvement de terrain, risque industriel, feu de foret, etc. Liste les risques identifies et les arretes de catastrophe naturelle (CatNat) avec dates. Accepte un nom de commune, un code postal ou un code INSEE. Source : Georisques (BRGM/MTE) via georisques.gouv.fr.",
"inputSchema": {
"properties": {
"code_insee": {
"description": "Code INSEE de la commune (ex: '30189'). Prioritaire si fourni.",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '30000')",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Nimes', 'Vaison-la-Romaine')",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_risques_naturels"
},
{
"description": "Recherche dans les textes legislatifs et reglementaires francais (lois, decrets, arretes, ordonnances) par mots-cles. Retourne les textes correspondants avec leur nature, date et lien Legifrance. Source : API Legifrance officielle (PISTE/DILA).",
"inputSchema": {
"properties": {
"champ": {
"description": "Champ de recherche (defaut: ALL)",
"enum": [
"ALL",
"TITLE",
"ARTICLE",
"NUM_ARTICLE"
],
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 5)",
"type": "number"
},
"recherche": {
"description": "Mots-cles de recherche (ex: 'protection donnees personnelles', 'teletravail conges')",
"type": "string"
},
"type_recherche": {
"description": "Type de recherche (defaut: TOUS_LES_MOTS_DANS_UN_CHAMP)",
"enum": [
"TOUS_LES_MOTS_DANS_UN_CHAMP",
"EXACTE",
"UN_DES_MOTS"
],
"type": "string"
}
},
"required": [
"recherche"
],
"type": "object"
},
"name": "rechercher_texte_legal"
},
{
"description": "Recherche d'articles dans les codes de loi francais (Code civil, Code du travail, Code penal, Code de commerce, etc.). Retourne les articles avec leur numero, contenu et lien Legifrance. Source : API Legifrance officielle (PISTE/DILA).",
"inputSchema": {
"properties": {
"champ": {
"description": "Champ de recherche (defaut: ALL)",
"enum": [
"ALL",
"TITLE",
"ARTICLE",
"NUM_ARTICLE"
],
"type": "string"
},
"code": {
"description": "Nom complet du code juridique (ex: 'Code civil', 'Code du travail', 'Code penal', 'Code de commerce')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 5)",
"type": "number"
},
"recherche": {
"description": "Termes de recherche (ex: 'contrat de travail', 'legitime defense', 'clause abusive')",
"type": "string"
},
"type_recherche": {
"description": "Type de recherche (defaut: TOUS_LES_MOTS_DANS_UN_CHAMP)",
"enum": [
"TOUS_LES_MOTS_DANS_UN_CHAMP",
"EXACTE",
"UN_DES_MOTS"
],
"type": "string"
}
},
"required": [
"recherche",
"code"
],
"type": "object"
},
"name": "rechercher_code_juridique"
},
{
"description": "Recherche dans le Journal Officiel de la Republique Francaise (JORF). Retourne les textes publies au JO avec leur titre, nature, date, NOR et lien Legifrance. Filtrage par type (LOI/DECRET/ARRETE/ORDONNANCE...) et plage de dates. Source : API PISTE officielle DILA/Legifrance.",
"inputSchema": {
"properties": {
"date_debut": {
"description": "Date de debut au format YYYY-MM-DD (ex: '2024-01-01')",
"type": "string"
},
"date_fin": {
"description": "Date de fin au format YYYY-MM-DD (ex: '2024-12-31')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 5)",
"type": "number"
},
"recherche": {
"description": "Termes de recherche (ex: 'teletravail', 'protection donnees', 'loi finances 2025')",
"type": "string"
},
"type_texte": {
"description": "Filtrer par nature du texte (optionnel)",
"enum": [
"LOI",
"DECRET",
"ARRETE",
"ORDONNANCE",
"CIRCULAIRE",
"AVIS",
"DECISION"
],
"type": "string"
}
},
"required": [
"recherche"
],
"type": "object"
},
"name": "consulter_journal_officiel"
},
{
"description": "Statistiques CAF par commune ou departement : nombre de foyers allocataires et personnes couvertes pour RSA, aides au logement (APL/ALS/ALF), AAH, allocations familiales, prime d'activite et autres prestations. Donnees agregees anonymisees depuis 2020. Source : CNAF \u2014 data.caf.fr.",
"inputSchema": {
"properties": {
"annee": {
"description": "Annee specifique (ex: 2022). Par defaut : derniere annee disponible.",
"type": "number"
},
"code_departement": {
"description": "Code departement (ex: '93', '75', '2A')",
"type": "string"
},
"code_insee": {
"description": "Code INSEE de la commune (ex: '93010')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '93140')",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon', 'Bondy')",
"type": "string"
},
"prestation": {
"description": "Code de prestation a filtrer : RSA, AL, AAH, AF, PA, CF, ASF, CMG... ou 'toutes' (defaut)",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_aide_sociale"
},
{
"description": "Recherche d'avis de marches publics (appels d'offres, attributions, MAPA, DSP) dans le BOAMP (Bulletin officiel des annonces des marches publics). Filtrage par mots-cles, type d'avis, departement, acheteur ou periode. Source : API BOAMP \u2014 DILA.",
"inputSchema": {
"properties": {
"acheteur": {
"description": "Nom de l'acheteur public (ex: 'Commune de Lyon', 'Departement du Rhone')",
"type": "string"
},
"date_debut": {
"description": "Date de debut au format YYYY-MM-DD",
"type": "string"
},
"date_fin": {
"description": "Date de fin au format YYYY-MM-DD",
"type": "string"
},
"departement": {
"description": "Code departement (ex: '75', '93', '69')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 10)",
"type": "number"
},
"recherche": {
"description": "Mots-cles sur l'objet du marche (ex: 'travaux voirie', 'fourniture informatique', 'nettoyage locaux')",
"type": "string"
},
"type_avis": {
"description": "Type d'avis : AAC=Appel a la concurrence, APC=Attribution, MAPA=Procedure adaptee, DSP=Delegation service public",
"enum": [
"AAC",
"APC",
"MAPA",
"DSP"
],
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_marche_public"
},
{
"description": "Consulte les comptes financiers d'un EPCI (metropole, CA, CC, CU) : recettes, depenses, dette. Donnees 2017-2024. Source : OFGL.",
"inputSchema": {
"properties": {
"annee": {
"description": "Annee du budget (2017-2024). Par defaut : derniere disponible.",
"type": "number"
},
"code_siren": {
"description": "Code SIREN de l'EPCI (9 chiffres)",
"type": "string"
},
"commune": {
"description": "Commune membre (l'EPCI sera resolu automatiquement)",
"type": "string"
},
"epci": {
"description": "Nom de l'EPCI (ex: 'Bordeaux Metropole', 'Rennes Metropole')",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_budget_epci"
},
{
"description": "Consulte les comptes financiers d'une commune : recettes, depenses, epargne brute, encours de dette, investissements. Donnees 2017-2024. Source : OFGL via data.ofgl.fr.",
"inputSchema": {
"properties": {
"annee": {
"description": "Annee du budget (2017-2024). Par defaut : derniere disponible.",
"type": "number"
},
"code_insee": {
"description": "Code INSEE de la commune (ex: '69123')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '69001')",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon', 'Bordeaux')",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_budget_commune"
},
{
"description": "Recherche des subventions versees par les collectivites locales et organismes publics. Filtrage par beneficiaire, attribuant, objet, montant minimum et annee. Source : data.gouv.fr (obligation legale > 23 000 EUR).",
"inputSchema": {
"properties": {
"annee": {
"description": "Annee de la convention (ex: 2023)",
"type": "number"
},
"attribuant": {
"description": "Nom de l'organisme attribuant (commune, departement, metropole...)",
"type": "string"
},
"beneficiaire": {
"description": "Nom du beneficiaire (association, organisme, entreprise)",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-50, defaut 10)",
"type": "number"
},
"montant_min": {
"description": "Montant minimum en euros (ex: 10000)",
"type": "number"
},
"objet": {
"description": "Objet ou descriptif de la subvention (recherche partielle)",
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_subvention"
},
{
"description": "Recherche des entreprises par secteur d'activite (code NAF/APE) et zone geographique. Retourne les informations SIRENE : nom, etat (actif/cesse), dates de creation et fermeture. Source : API Recherche Entreprises (DINUM).",
"inputSchema": {
"properties": {
"code_departement": {
"description": "Code departement (ex: '69', '75')",
"type": "string"
},
"code_naf": {
"description": "Code NAF/APE (ex: '10.71C' boulangerie, '56.10A' restauration, '62.01Z' informatique)",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '69001')",
"type": "string"
},
"commune": {
"description": "Commune (ex: 'Lyon', 'Paris')",
"type": "string"
},
"etat": {
"description": "Filtrer par etat : actif (A) ou cesse (C). Par defaut : tous.",
"enum": [
"actif",
"cesse"
],
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-25, defaut 10)",
"type": "number"
}
},
"type": "object"
},
"name": "consulter_sirene_historique"
},
{
"description": "Recherche d'annonces legales dans le BODACC (Bulletin officiel des annonces civiles et commerciales) : ventes et cessions, immatriculations, radiations, modifications, procedures collectives, depots de comptes. Filtrage par entreprise, SIREN, type d'annonce, departement ou periode. Source : API BODACC \u2014 DILA.",
"inputSchema": {
"properties": {
"date_debut": {
"description": "Date de debut au format YYYY-MM-DD",
"type": "string"
},
"date_fin": {
"description": "Date de fin au format YYYY-MM-DD",
"type": "string"
},
"departement": {
"description": "Code departement (ex: '75', '69')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 10)",
"type": "number"
},
"nom_entreprise": {
"description": "Nom exact ou partiel de l'entreprise",
"type": "string"
},
"recherche": {
"description": "Recherche par nom d'entreprise ou ville (ex: 'SARL Martin', 'Bordeaux')",
"type": "string"
},
"siren": {
"description": "Numero SIREN de l'entreprise (9 chiffres)",
"type": "string"
},
"type_annonce": {
"description": "Type d'annonce a filtrer",
"enum": [
"vente_cession",
"immatriculation",
"radiation",
"procedure_collective",
"modification"
],
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_annonce_legale"
},
{
"description": "Recherche d'offres d'emploi actives en temps reel via France Travail. Filtrage par mots-cles, commune, code postal, departement, type de contrat (CDI/CDD/MIS...) et qualification (cadre/non-cadre). Necessite les secrets FT_CLIENT_ID / FT_CLIENT_SECRET (inscription gratuite sur francetravail.io). Source : API Offres d'emploi v2 \u2014 France Travail.",
"inputSchema": {
"properties": {
"code_postal": {
"description": "Code postal (ex: '69001'). Resout en code commune.",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon', 'Paris'). Resout automatiquement en code commune.",
"type": "string"
},
"departement": {
"description": "Code departement (ex: '75', '69', '93'). Alternative a commune/code_postal.",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-30, defaut 10)",
"type": "number"
},
"mots_cles": {
"description": "Mots-cles sur l'intitule ou la description du poste (ex: 'developpeur TypeScript', 'infirmier', 'comptable')",
"type": "string"
},
"qualification": {
"description": "Niveau de qualification (optionnel)",
"enum": [
"cadre",
"non-cadre"
],
"type": "string"
},
"type_contrat": {
"description": "Type de contrat : CDI, CDD, MIS (interim), SAI (saisonnier), LIB (liberale), REP (reprise), CUI (aide), PRO (professionnalisation)",
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_offre_emploi"
},
{
"description": "Prix des carburants en temps reel pour un departement ou une commune. Retourne les stations triees par prix croissant avec Gazole, SP95, SP98, E10, E85, GPLc et indicateur automate 24/24. Source : data.economie.gouv.fr (flux instantane, MAJ toutes les 10 min).",
"inputSchema": {
"properties": {
"carburant": {
"description": "Type de carburant a filtrer et trier (optionnel \u2014 tous les prix affiches si absent)",
"enum": [
"Gazole",
"SP95",
"SP98",
"E10",
"E85",
"GPLc"
],
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '69001')",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon', 'Bordeaux')",
"type": "string"
},
"departement": {
"description": "Numero ou nom du departement (ex: '69', 'Rhone', '13')",
"type": "string"
},
"limit": {
"description": "Nombre de stations (1-20, defaut 10)",
"type": "number"
}
},
"type": "object"
},
"name": "consulter_prix_carburant"
},
{
"description": "Recherche des formations professionnelles eligibles au CPF (MonCompteFormation). Filtrage par mot-cle, departement, code ROME, niveau de sortie ou modalite a distance. Retourne l'organisme, la certification, le niveau, les codes ROME, les frais TTC et le nombre de sessions actives. Source : data.gouv.fr \u2014 catalogue national MCF.",
"inputSchema": {
"properties": {
"a_distance": {
"description": "Si true, retourne uniquement les formations avec au moins une session a distance",
"type": "boolean"
},
"code_rome": {
"description": "Code ROME (ex: 'M1805', 'E1206'). Recherche dans les 5 codes ROME de la formation.",
"type": "string"
},
"departement": {
"description": "Code departement (ex: '69', '75', '93')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-50, defaut 10)",
"type": "number"
},
"niveau": {
"description": "Niveau de sortie de la formation (ex: 'bac+2', 'licence', 'master', 'CAP')",
"type": "string"
},
"recherche": {
"description": "Mot-cle dans l'intitule de la formation (ex: 'comptabilite', 'developpeur web', 'bilan de competences')",
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_formation"
},
{
"description": "Recherche de jurisprudence judiciaire francaise : arrets de la Cour de cassation et cours d'appel. Retourne les decisions avec juridiction, formation, solution et lien Legifrance. Source : API Legifrance officielle (PISTE/DILA).",
"inputSchema": {
"properties": {
"juridiction": {
"description": "Filtrer par juridiction (defaut: Toutes)",
"enum": [
"Cour de cassation",
"Cours d'appel",
"Toutes"
],
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 5)",
"type": "number"
},
"publie_bulletin": {
"description": "Filtrer les arrets publies au bulletin (Cour de cassation uniquement). Optionnel.",
"type": "boolean"
},
"recherche": {
"description": "Termes de recherche (ex: 'licenciement abusif', 'prejudice moral', 'clause non-concurrence')",
"type": "string"
}
},
"required": [
"recherche"
],
"type": "object"
},
"name": "rechercher_jurisprudence"
}
]
}
},
"bad_protocol_status_code": 200,
"delete_error": null,
"delete_status_code": null,
"expired_session_error": null,
"expired_session_status_code": null,
"issues": [
"missing_session_id",
"missing_protocol_header",
"bad_protocol_not_rejected"
],
"last_event_id_visible": false,
"protocol_header_present": false,
"requested_protocol_version": "2025-03-26",
"session_id_present": false,
"transport": "streamable-http"
},
"latency_ms": 16.04,
"status": "error"
},
"utility_coverage_probe": {
"details": {
"completions": {
"advertised": false,
"live_probe": "not_executed",
"sample_target": null
},
"initialize_capability_keys": [
"prompts",
"tools"
],
"pagination": {
"metadata_signal": false,
"next_cursor_methods": [],
"supported": false
},
"tasks": {
"advertised": false,
"http_status": 200,
"probe_status": "missing"
}
},
"latency_ms": 8.84,
"status": "missing"
}
},
"failures": {
"oauth_authorization_server": {
"reason": "no_authorization_server"
},
"oauth_protected_resource": {
"error": "Client error '404 Not Found' for url 'https://mcp-service-public.nhaultcoeur.workers.dev/.well-known/oauth-protected-resource'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
"url": "https://mcp-service-public.nhaultcoeur.workers.dev/.well-known/oauth-protected-resource"
},
"openid_configuration": {
"reason": "no_authorization_server"
},
"server_card": {
"error": "Client error '404 Not Found' for url 'https://mcp-service-public.nhaultcoeur.workers.dev/.well-known/mcp/server-card.json'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
"url": "https://mcp-service-public.nhaultcoeur.workers.dev/.well-known/mcp/server-card.json"
},
"transport_compliance_probe": {
"bad_protocol_error": null,
"bad_protocol_headers": {
"content-type": "application/json"
},
"bad_protocol_payload": {
"id": 410,
"jsonrpc": "2.0",
"result": {
"tools": [
{
"description": "Recherche unifiee intelligente : dispatche vers fiches DILA, BOFiP, DVF, fiscalite locale, simulation TF/frais notaire/IR, zonage ABC/Pinel, conventions collectives, etablissements scolaires, resultats lycees, Parcoursup, acces aux soins, insertion pro, securite, risques naturels, codes juridiques, jurisprudence, textes legaux, JO, marches publics, annonces BODACC, aide sociale CAF, budget commune/EPCI, subventions, SIRENE, offres emploi France Travail, prix carburants, formations CPF (MonCompteFormation). A utiliser en premier si la source n'est pas evidente.",
"inputSchema": {
"properties": {
"limit": {
"description": "Nombre de r\u00e9sultats (1-10, d\u00e9faut 5)",
"type": "number"
},
"query": {
"description": "Question ou termes de recherche en langage naturel (ex: 'taxe fonci\u00e8re \u00e0 Lyon', 'renouveler passeport', 'prix immobilier \u00e0 Bondy', 'frais de notaire 250000 euros', 'zone Pinel Bordeaux', 'convention collective b\u00e2timent', 'combien d imp\u00f4t pour 40000 euros mari\u00e9 2 enfants')",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "rechercher"
},
{
"description": "Recherche dans les fiches pratiques de service-public.fr (droits, d\u00e9marches administratives). Utilise la recherche plein texte.",
"inputSchema": {
"properties": {
"audience": {
"description": "Public cible",
"enum": [
"Particuliers",
"Professionnels",
"Associations"
],
"type": "string"
},
"limit": {
"description": "Nombre de r\u00e9sultats (1-20, d\u00e9faut 10)",
"type": "number"
},
"query": {
"description": "Termes de recherche (ex: 'passeport', 'allocation logement')",
"type": "string"
},
"theme": {
"description": "Filtrer par th\u00e8me (ex: 'Papiers', 'Logement')",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "rechercher_fiche"
},
{
"description": "Lit le contenu complet d'une fiche pratique par son identifiant (ex: F14929 pour le passeport).",
"inputSchema": {
"properties": {
"fiche_id": {
"description": "Identifiant de la fiche (ex: F14929, N360, R42946)",
"type": "string"
}
},
"required": [
"fiche_id"
],
"type": "object"
},
"name": "lire_fiche"
},
{
"description": "Recherche un service public local (mairie, pr\u00e9fecture, CAF, CPAM, France Services...) via l'Annuaire de l'administration.",
"inputSchema": {
"properties": {
"code_insee": {
"description": "Code INSEE de la commune",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '75001')",
"type": "string"
},
"commune": {
"description": "Nom de la commune",
"type": "string"
},
"limit": {
"description": "Nombre de r\u00e9sultats (1-20, d\u00e9faut 5)",
"type": "number"
},
"type_organisme": {
"description": "Type de service (ex: 'mairie', 'prefecture', 'caf')",
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_service_local"
},
{
"description": "Parcourt l'arborescence th\u00e9matique de service-public.fr. Sans param\u00e8tre, liste les th\u00e8mes principaux.",
"inputSchema": {
"properties": {
"theme_id": {
"description": "ID du th\u00e8me \u00e0 explorer (ex: N19810, N360)",
"type": "string"
}
},
"type": "object"
},
"name": "naviguer_themes"
},
{
"description": "Consulte les taux d'imposition locale d'une commune (taxe fonci\u00e8re, taxe d'habitation, TEOM, CFE). Accepte un nom de commune, un code INSEE ou un code postal. Sans exercice pr\u00e9cis\u00e9, affiche l'\u00e9volution sur 4 ans avec tendance. Donn\u00e9es REI de la DGFiP via data.economie.gouv.fr.",
"inputSchema": {
"properties": {
"code_insee": {
"description": "Code INSEE de la commune (ex: '75056', '69123')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '93140', '75001'). R\u00e9sout automatiquement vers le(s) code(s) INSEE.",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'PARIS', 'LYON')",
"type": "string"
},
"communes": {
"description": "Liste de communes \u00e0 comparer (2-5 noms en majuscules, ex: ['PARIS', 'LYON', 'MARSEILLE']). Active le mode comparaison c\u00f4te \u00e0 c\u00f4te.",
"items": {
"type": "string"
},
"maxItems": 5,
"minItems": 2,
"type": "array"
},
"exercice": {
"description": "Ann\u00e9e fiscale (ex: '2024'). Sans exercice : affiche l'\u00e9volution sur toutes les ann\u00e9es disponibles.",
"type": "string"
},
"type": {
"description": "Type de fiscalit\u00e9 (d\u00e9faut: particuliers)",
"enum": [
"particuliers",
"entreprises"
],
"type": "string"
}
},
"type": "object"
},
"name": "consulter_fiscalite_locale"
},
{
"description": "Recherche dans la doctrine fiscale officielle (BOFiP - Bulletin Officiel des Finances Publiques). Couvre IR, TVA, IS, plus-values, etc.",
"inputSchema": {
"properties": {
"limit": {
"description": "Nombre de r\u00e9sultats (1-10, d\u00e9faut 5)",
"type": "number"
},
"query": {
"description": "Termes de recherche (ex: 'plus-values immobili\u00e8res', 'cr\u00e9dit imp\u00f4t recherche')",
"type": "string"
},
"serie": {
"description": "Filtrer par s\u00e9rie BOFiP (ex: 'IR', 'TVA', 'IS', 'RFPI', 'BIC')",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "rechercher_doctrine_fiscale"
},
{
"description": "Consulte les transactions immobili\u00e8res (DVF - Demandes de Valeurs Fonci\u00e8res) d'une commune. Fournit prix m\u00e9dians, prix au m\u00b2, r\u00e9partition par type de bien et nombre de pi\u00e8ces. Avec evolution=true, retourne l'historique des prix m\u00e9dians par ann\u00e9e (2019-aujourd'hui) avec tendance. Donn\u00e9es DGFiP via data.gouv.fr. Hors Alsace, Moselle et Mayotte.",
"inputSchema": {
"properties": {
"annee": {
"description": "Filtrer sur une ann\u00e9e sp\u00e9cifique (ex: 2024). Par d\u00e9faut : 2 derni\u00e8res ann\u00e9es.",
"type": "number"
},
"code_insee": {
"description": "Code INSEE de la commune (ex: '93010')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '93140'). R\u00e9sout automatiquement vers le(s) code(s) INSEE.",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Bondy', 'Lyon')",
"type": "string"
},
"evolution": {
"description": "Si true, retourne l'\u00e9volution des prix m\u00e9dians ann\u00e9e par ann\u00e9e (2019-aujourd'hui) avec tendance hausse/baisse/stable. Ignore le param\u00e8tre annee.",
"type": "boolean"
},
"type_local": {
"description": "Filtrer par type de bien",
"enum": [
"Appartement",
"Maison",
"Local industriel. commercial ou assimil\u00e9"
],
"type": "string"
}
},
"type": "object"
},
"name": "consulter_transactions_immobilieres"
},
{
"description": "Estime la taxe fonci\u00e8re annuelle d'un bien immobilier. Combine les vrais taux communaux (REI DGFiP) avec une estimation de la valeur locative cadastrale ajust\u00e9e au march\u00e9 local via les transactions DVF. Accepte un nom de commune, un code INSEE ou un code postal. D\u00e9compose les taux par collectivit\u00e9 (commune, EPCI, syndicat, GEMAPI, TSE, TASA). D\u00e9tecte l'exon\u00e9ration construction neuve 2 ans (art. 1383 CGI). Simule le sc\u00e9nario d'abattement r\u00e9sidence principale si vot\u00e9 par la commune. R\u00e9sultat indicatif uniquement.",
"inputSchema": {
"properties": {
"annee_construction": {
"description": "Ann\u00e9e de construction (optionnel, influence le coefficient d'entretien et d\u00e9tecte l'exon\u00e9ration 2 ans)",
"type": "number"
},
"code_insee": {
"description": "Code INSEE de la commune (ex: '69123')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '33000'). R\u00e9sout automatiquement vers le code INSEE.",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon', 'Bordeaux')",
"type": "string"
},
"nombre_pieces": {
"description": "Nombre de pi\u00e8ces principales (optionnel, estim\u00e9 si absent)",
"type": "number"
},
"residence_principale": {
"description": "S'il s'agit de la r\u00e9sidence principale (optionnel, affiche les exon\u00e9rations possibles)",
"type": "boolean"
},
"surface": {
"description": "Surface habitable en m\u00b2 (ex: 75)",
"type": "number"
},
"type_bien": {
"description": "Type de bien immobilier",
"enum": [
"Maison",
"Appartement"
],
"type": "string"
}
},
"required": [
"surface",
"type_bien"
],
"type": "object"
},
"name": "simuler_taxe_fonciere"
},
{
"description": "Estime les frais de notaire (frais d'acquisition) pour un achat immobilier. Calcule les droits de mutation (DMTO), \u00e9moluments du notaire (bar\u00e8me d\u00e9gressif r\u00e9glement\u00e9), contribution de s\u00e9curit\u00e9 immobili\u00e8re et d\u00e9bours. Distingue ancien (7-8 %) et neuf (2-3 %). Si le d\u00e9partement est pr\u00e9cis\u00e9, applique le taux DMTO exact (normal 5,81 % ou major\u00e9 6,32 % selon le d\u00e9partement, LF 2025). Sans d\u00e9partement, affiche les deux hypoth\u00e8ses. Accepte un code d\u00e9partement, un code postal ou un num\u00e9ro de d\u00e9partement.",
"inputSchema": {
"properties": {
"departement": {
"description": "D\u00e9partement (code 2-3 chiffres, code postal 5 chiffres, ou '2A'/'2B' pour la Corse). Permet d'appliquer le taux DMTO exact.",
"type": "string"
},
"prix": {
"description": "Prix d'achat du bien en euros (ex: 250000)",
"type": "number"
},
"type": {
"description": "Type de bien : ancien ou neuf",
"enum": [
"ancien",
"neuf"
],
"type": "string"
}
},
"required": [
"prix",
"type"
],
"type": "object"
},
"name": "simuler_frais_notaire"
},
{
"description": "Consulte la zone ABC d'une commune (A bis, A, B1, B2, C) utilis\u00e9e pour les dispositifs immobiliers (Pinel, PTZ, plafonds loyers). Accepte un nom de commune, un code INSEE ou un code postal. Retourne la zone, les plafonds de loyer, les plafonds de ressources et l'\u00e9ligibilit\u00e9 aux dispositifs. Source : Minist\u00e8re de la Transition \u00e9cologique via data.gouv.fr.",
"inputSchema": {
"properties": {
"code_insee": {
"description": "Code INSEE de la commune (ex: '69123')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '33000'). R\u00e9sout automatiquement vers le code INSEE.",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon', 'Bordeaux')",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_zonage_immobilier"
},
{
"description": "Compare 2 \u00e0 5 communes sur un tableau crois\u00e9 : population et densit\u00e9, fiscalit\u00e9 locale (taux TFB, TEOM), prix immobiliers (DVF m\u00e9dian/m\u00b2 appart et maison), zonage ABC, services publics locaux, \u00e9tablissements scolaires, scores 6\u00e8me, s\u00e9curit\u00e9 d\u00e9partementale (cambriolages, vols, violences), risques naturels (nombre de risques, arr\u00eat\u00e9s CatNat), donn\u00e9es sant\u00e9 (densit\u00e9 m\u00e9decins) et intercommunalit\u00e9. Aide \u00e0 la d\u00e9cision pour un d\u00e9m\u00e9nagement ou un investissement. Accepte des noms de communes, codes postaux ou codes INSEE.",
"inputSchema": {
"properties": {
"communes": {
"description": "Liste de 2 \u00e0 5 communes \u00e0 comparer (noms, codes postaux ou codes INSEE). Ex: ['Lyon', 'Bordeaux', 'Nantes']",
"items": {
"type": "string"
},
"maxItems": 5,
"minItems": 2,
"type": "array"
}
},
"required": [
"communes"
],
"type": "object"
},
"name": "comparer_communes"
},
{
"description": "Estime l'impot sur le revenu (IR) selon le bareme progressif 2025 (revenus 2024). Calcule le quotient familial, applique le plafonnement, la decote et la contribution exceptionnelle hauts revenus (CEHR). Parametres : revenu net imposable (obligatoire), nombre de parts OU situation familiale + nombre d'enfants. Options : revenus fonciers (micro-foncier 30% abattement ou reel), revenus de capitaux (PFU 30% ou bareme), micro-BIC (abattement 50%), micro-BNC (abattement 34%).",
"inputSchema": {
"properties": {
"micro_bic": {
"description": "Chiffre d'affaires micro-BIC en euros (abattement 50 %). Optionnel.",
"type": "number"
},
"micro_bnc": {
"description": "Recettes micro-BNC en euros (abattement 34 %). Optionnel.",
"type": "number"
},
"nb_enfants": {
"description": "Nombre d'enfants a charge (optionnel, defaut 0)",
"type": "number"
},
"nb_parts": {
"description": "Nombre de parts fiscales (optionnel, defaut 1). Prioritaire sur situation + nb_enfants.",
"type": "number"
},
"regime_capitaux": {
"description": "Imposition des capitaux (defaut: pfu). PFU = flat tax 30 %, bareme = integration au revenu global.",
"enum": [
"pfu",
"bareme"
],
"type": "string"
},
"regime_foncier": {
"description": "Regime foncier (defaut: micro). Micro = abattement 30 %, reel = montant net fourni.",
"enum": [
"micro",
"reel"
],
"type": "string"
},
"revenu_net_imposable": {
"description": "Revenu net imposable en euros (ex: 42000)",
"type": "number"
},
"revenus_capitaux": {
"description": "Revenus de capitaux mobiliers en euros (dividendes, interets, plus-values). Optionnel.",
"type": "number"
},
"revenus_fonciers": {
"description": "Revenus fonciers bruts en euros (optionnel). Negatif possible en regime reel (deficit foncier).",
"type": "number"
},
"situation": {
"description": "Situation familiale (optionnel, permet le calcul auto des parts)",
"enum": [
"celibataire",
"marie",
"pacse",
"divorce",
"veuf"
],
"type": "string"
}
},
"required": [
"revenu_net_imposable"
],
"type": "object"
},
"name": "simuler_impot_revenu"
},
{
"description": "Recherche une convention collective nationale par numero IDCC, secteur d'activite ou mot-cle. Source : base KALI (DILA) via data.gouv.fr. Retourne le titre, l'IDCC, l'etat (en vigueur/abrogee), la nature et le lien Legifrance.",
"inputSchema": {
"properties": {
"idcc": {
"description": "Numero IDCC (ex: '843', '3248')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 10)",
"type": "number"
},
"query": {
"description": "Mot-cle ou secteur d'activite (ex: 'boulangerie', 'metallurgie', 'batiment')",
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_convention_collective"
},
{
"description": "Recherche une entreprise francaise par SIRET, SIREN ou nom. Retourne les informations legales (forme juridique, NAF, effectif, dirigeants, adresse) et la ou les convention(s) collective(s) applicable(s) avec detail KALI. Source : API Recherche d'entreprises (DINUM) + KALI (DILA).",
"inputSchema": {
"properties": {
"nom": {
"description": "Nom ou raison sociale de l'entreprise (ex: 'OCTO Technology')",
"type": "string"
},
"siren": {
"description": "Numero SIREN (9 chiffres, ex: '418166096')",
"type": "string"
},
"siret": {
"description": "Numero SIRET (14 chiffres, ex: '41816609600069')",
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_entreprise"
},
{
"description": "Recherche un etablissement scolaire (ecole, college, lycee) par commune, code postal ou nom. Retourne les informations detaillees : adresse, contact, voies d'enseignement, services (restauration, internat, ULIS), sections (europeenne, sport, arts), education prioritaire. Source : Annuaire de l'education (data.education.gouv.fr), 68 000+ etablissements.",
"inputSchema": {
"properties": {
"code_insee": {
"description": "Code INSEE de la commune",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '69001', '93140')",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon', 'Bondy')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 10)",
"type": "number"
},
"nom": {
"description": "Nom de l'etablissement (recherche partielle, ex: 'Lacassagne')",
"type": "string"
},
"statut": {
"description": "Statut : public ou prive",
"enum": [
"public",
"prive"
],
"type": "string"
},
"type": {
"description": "Type d'etablissement : 'ecole', 'college', 'lycee', 'maternelle', 'elementaire', 'primaire', 'erea'",
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_etablissement_scolaire"
},
{
"description": "Consulte les indicateurs de valeur ajoutee (IVAL) d'un lycee : taux de reussite au bac, valeur ajoutee, taux d'acces 2nde-bac, taux de mentions. Couvre les lycees generaux/technologiques et professionnels, publics et prives sous contrat. Donnees DEPP session 2012-2024. Source : data.education.gouv.fr.",
"inputSchema": {
"properties": {
"code_insee": {
"description": "Code INSEE de la commune",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '69001')",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon', 'Bordeaux')",
"type": "string"
},
"evolution": {
"description": "Si true, retourne l'historique multi-annees (2012-2024) avec tendance, au lieu de la derniere session uniquement.",
"type": "boolean"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 10)",
"type": "number"
},
"nom_lycee": {
"description": "Nom du lycee (recherche partielle, ex: 'Lacassagne', 'Guimard')",
"type": "string"
},
"type": {
"description": "Voie : 'gt' (general/techno), 'pro' (professionnel), 'tous' (defaut)",
"enum": [
"gt",
"pro",
"tous"
],
"type": "string"
}
},
"type": "object"
},
"name": "consulter_resultats_lycee"
},
{
"description": "Consulte les resultats des evaluations nationales (6eme et CE2) par departement. Compare les scores departementaux au niveau national, avec repartition par groupes de niveau et tendance annuelle. Accepte un nom de commune, un code postal ou un code departement. Source : DEPP via data.education.gouv.fr.",
"inputSchema": {
"properties": {
"annee": {
"description": "Annee scolaire (ex: 2025). Par defaut : derniere disponible.",
"type": "number"
},
"code_departement": {
"description": "Code departement direct (ex: '93', '75', '2A', '971')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '93140') \u2014 resout le departement automatiquement",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Bondy', 'Lyon') \u2014 resout le departement automatiquement",
"type": "string"
},
"niveau": {
"description": "Niveau scolaire (defaut: 'tous')",
"enum": [
"6eme",
"CE2",
"tous"
],
"type": "string"
}
},
"type": "object"
},
"name": "consulter_evaluations_nationales"
},
{
"description": "Recherche des formations sur Parcoursup par mot-cle, ville, departement ou filiere. Retourne les informations detaillees : etablissement, selectivite, taux d'acces, capacite, nombre de voeux, profil des admis (bac, mentions, boursiers), lien fiche Parcoursup. Donnees session 2025. Source : Ministere de l'Enseignement superieur via data.education.gouv.fr.",
"inputSchema": {
"properties": {
"code_postal": {
"description": "Code postal (ex: '69001'). Resout automatiquement vers la ville.",
"type": "string"
},
"departement": {
"description": "Code departement (ex: '69', '93', '2A')",
"type": "string"
},
"filiere": {
"description": "Type de filiere : 'BUT', 'BTS', 'Licence', 'CPGE', 'PASS', 'LAS', 'IFSI', 'ingenieur'",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 10)",
"type": "number"
},
"recherche": {
"description": "Mot-cle ou intitule de formation (ex: 'informatique', 'BTS comptabilite', 'licence droit')",
"type": "string"
},
"ville": {
"description": "Ville de l'etablissement (ex: 'Lyon', 'Paris')",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_parcoursup"
},
{
"description": "Statistiques de selectivite Parcoursup par formation : taux d'acces, rang dernier appele, profil admis par bac (general/techno/pro), mentions, boursiers. Triees par selectivite croissante. Source : Parcoursup 2025 via data.education.gouv.fr.",
"inputSchema": {
"properties": {
"code_postal": {
"description": "Code postal pour filtrer par ville (ex: '69001')",
"type": "string"
},
"filiere": {
"description": "Filiere pour filtrer (ex: 'BTS', 'BUT', 'Licence', 'CPGE')",
"type": "string"
},
"formation": {
"description": "Intitule de la formation (ex: 'BTS comptabilite', 'licence informatique', 'CPGE scientifique')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 10)",
"type": "number"
},
"selective_uniquement": {
"description": "Si true : affiche uniquement les formations selectives (taux d'acces < 100 %)",
"type": "boolean"
},
"tri": {
"description": "Tri : 'selectivite' (plus selectif d'abord, defaut) ou 'voeux' (plus demande d'abord)",
"enum": [
"selectivite",
"voeux"
],
"type": "string"
},
"ville": {
"description": "Ville de l'etablissement pour filtrer (ex: 'Lyon', 'Paris')",
"type": "string"
}
},
"required": [
"formation"
],
"type": "object"
},
"name": "consulter_parcoursup_stats"
},
{
"description": "Consulte les donnees d'acces aux soins par departement : effectifs et densite des medecins generalistes et specialistes liberaux, patientele medecin traitant, primo-installations, installations en zones sous-dotees, file active. Compare avec les moyennes nationales. Accepte un nom de commune, un code postal ou un code departement. Source : Assurance Maladie (CNAM) via data.ameli.fr.",
"inputSchema": {
"properties": {
"code_departement": {
"description": "Code departement direct (ex: '93', '75', '2A', '971')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '93140') \u2014 resout le departement automatiquement",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Bondy', 'Lyon') \u2014 resout le departement automatiquement",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_acces_soins"
},
{
"description": "Consulte les indicateurs d'insertion professionnelle des lycees professionnels (InserJeunes). Taux d'emploi a 6/12/18/24 mois apres la sortie, taux de poursuite d'etudes, valeur ajoutee. Detail par formation (CAP, Bac Pro, BTS, Mention complementaire). Recherche par nom d'etablissement, ville, departement ou code UAI. Source : DEPP/DARES via data.education.gouv.fr.",
"inputSchema": {
"properties": {
"code_departement": {
"description": "Code departement (ex: '69', '93', '2A')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-10, defaut 5)",
"type": "number"
},
"recherche": {
"description": "Nom d'etablissement ou mot-cle (ex: 'coiffure', 'automobile')",
"type": "string"
},
"type_diplome": {
"description": "Filtrer par type de diplome (optionnel)",
"enum": [
"CAP",
"BAC PRO",
"BTS",
"MC3",
"MC4",
"BP"
],
"type": "string"
},
"uai": {
"description": "Code UAI de l'etablissement (ex: '0691723Y'). Retourne une fiche detaillee avec formations.",
"type": "string"
},
"ville": {
"description": "Ville de l'etablissement (ex: 'Lyon', 'Marseille')",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_insertion_professionnelle"
},
{
"description": "Consulte les statistiques de securite et delinquance par departement : cambriolages, vols, violences, homicides, escroqueries, stupefiants. Fournit le nombre de faits, le taux pour 1000 habitants et l'evolution annuelle. Accepte un nom de commune, un code postal ou un code departement. Source : SSMSI, Ministere de l'Interieur via data.gouv.fr.",
"inputSchema": {
"properties": {
"annee": {
"description": "Annee specifique (optionnel, defaut: derniere disponible)",
"type": "number"
},
"code_departement": {
"description": "Code departement (ex: '75', '93', '2A')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '93140') \u2014 resout le departement automatiquement",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon') \u2014 resout le departement automatiquement",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_securite"
},
{
"description": "Consulte les risques naturels et technologiques d'une commune : inondation, seisme, mouvement de terrain, risque industriel, feu de foret, etc. Liste les risques identifies et les arretes de catastrophe naturelle (CatNat) avec dates. Accepte un nom de commune, un code postal ou un code INSEE. Source : Georisques (BRGM/MTE) via georisques.gouv.fr.",
"inputSchema": {
"properties": {
"code_insee": {
"description": "Code INSEE de la commune (ex: '30189'). Prioritaire si fourni.",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '30000')",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Nimes', 'Vaison-la-Romaine')",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_risques_naturels"
},
{
"description": "Recherche dans les textes legislatifs et reglementaires francais (lois, decrets, arretes, ordonnances) par mots-cles. Retourne les textes correspondants avec leur nature, date et lien Legifrance. Source : API Legifrance officielle (PISTE/DILA).",
"inputSchema": {
"properties": {
"champ": {
"description": "Champ de recherche (defaut: ALL)",
"enum": [
"ALL",
"TITLE",
"ARTICLE",
"NUM_ARTICLE"
],
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 5)",
"type": "number"
},
"recherche": {
"description": "Mots-cles de recherche (ex: 'protection donnees personnelles', 'teletravail conges')",
"type": "string"
},
"type_recherche": {
"description": "Type de recherche (defaut: TOUS_LES_MOTS_DANS_UN_CHAMP)",
"enum": [
"TOUS_LES_MOTS_DANS_UN_CHAMP",
"EXACTE",
"UN_DES_MOTS"
],
"type": "string"
}
},
"required": [
"recherche"
],
"type": "object"
},
"name": "rechercher_texte_legal"
},
{
"description": "Recherche d'articles dans les codes de loi francais (Code civil, Code du travail, Code penal, Code de commerce, etc.). Retourne les articles avec leur numero, contenu et lien Legifrance. Source : API Legifrance officielle (PISTE/DILA).",
"inputSchema": {
"properties": {
"champ": {
"description": "Champ de recherche (defaut: ALL)",
"enum": [
"ALL",
"TITLE",
"ARTICLE",
"NUM_ARTICLE"
],
"type": "string"
},
"code": {
"description": "Nom complet du code juridique (ex: 'Code civil', 'Code du travail', 'Code penal', 'Code de commerce')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 5)",
"type": "number"
},
"recherche": {
"description": "Termes de recherche (ex: 'contrat de travail', 'legitime defense', 'clause abusive')",
"type": "string"
},
"type_recherche": {
"description": "Type de recherche (defaut: TOUS_LES_MOTS_DANS_UN_CHAMP)",
"enum": [
"TOUS_LES_MOTS_DANS_UN_CHAMP",
"EXACTE",
"UN_DES_MOTS"
],
"type": "string"
}
},
"required": [
"recherche",
"code"
],
"type": "object"
},
"name": "rechercher_code_juridique"
},
{
"description": "Recherche dans le Journal Officiel de la Republique Francaise (JORF). Retourne les textes publies au JO avec leur titre, nature, date, NOR et lien Legifrance. Filtrage par type (LOI/DECRET/ARRETE/ORDONNANCE...) et plage de dates. Source : API PISTE officielle DILA/Legifrance.",
"inputSchema": {
"properties": {
"date_debut": {
"description": "Date de debut au format YYYY-MM-DD (ex: '2024-01-01')",
"type": "string"
},
"date_fin": {
"description": "Date de fin au format YYYY-MM-DD (ex: '2024-12-31')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 5)",
"type": "number"
},
"recherche": {
"description": "Termes de recherche (ex: 'teletravail', 'protection donnees', 'loi finances 2025')",
"type": "string"
},
"type_texte": {
"description": "Filtrer par nature du texte (optionnel)",
"enum": [
"LOI",
"DECRET",
"ARRETE",
"ORDONNANCE",
"CIRCULAIRE",
"AVIS",
"DECISION"
],
"type": "string"
}
},
"required": [
"recherche"
],
"type": "object"
},
"name": "consulter_journal_officiel"
},
{
"description": "Statistiques CAF par commune ou departement : nombre de foyers allocataires et personnes couvertes pour RSA, aides au logement (APL/ALS/ALF), AAH, allocations familiales, prime d'activite et autres prestations. Donnees agregees anonymisees depuis 2020. Source : CNAF \u2014 data.caf.fr.",
"inputSchema": {
"properties": {
"annee": {
"description": "Annee specifique (ex: 2022). Par defaut : derniere annee disponible.",
"type": "number"
},
"code_departement": {
"description": "Code departement (ex: '93', '75', '2A')",
"type": "string"
},
"code_insee": {
"description": "Code INSEE de la commune (ex: '93010')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '93140')",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon', 'Bondy')",
"type": "string"
},
"prestation": {
"description": "Code de prestation a filtrer : RSA, AL, AAH, AF, PA, CF, ASF, CMG... ou 'toutes' (defaut)",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_aide_sociale"
},
{
"description": "Recherche d'avis de marches publics (appels d'offres, attributions, MAPA, DSP) dans le BOAMP (Bulletin officiel des annonces des marches publics). Filtrage par mots-cles, type d'avis, departement, acheteur ou periode. Source : API BOAMP \u2014 DILA.",
"inputSchema": {
"properties": {
"acheteur": {
"description": "Nom de l'acheteur public (ex: 'Commune de Lyon', 'Departement du Rhone')",
"type": "string"
},
"date_debut": {
"description": "Date de debut au format YYYY-MM-DD",
"type": "string"
},
"date_fin": {
"description": "Date de fin au format YYYY-MM-DD",
"type": "string"
},
"departement": {
"description": "Code departement (ex: '75', '93', '69')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 10)",
"type": "number"
},
"recherche": {
"description": "Mots-cles sur l'objet du marche (ex: 'travaux voirie', 'fourniture informatique', 'nettoyage locaux')",
"type": "string"
},
"type_avis": {
"description": "Type d'avis : AAC=Appel a la concurrence, APC=Attribution, MAPA=Procedure adaptee, DSP=Delegation service public",
"enum": [
"AAC",
"APC",
"MAPA",
"DSP"
],
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_marche_public"
},
{
"description": "Consulte les comptes financiers d'un EPCI (metropole, CA, CC, CU) : recettes, depenses, dette. Donnees 2017-2024. Source : OFGL.",
"inputSchema": {
"properties": {
"annee": {
"description": "Annee du budget (2017-2024). Par defaut : derniere disponible.",
"type": "number"
},
"code_siren": {
"description": "Code SIREN de l'EPCI (9 chiffres)",
"type": "string"
},
"commune": {
"description": "Commune membre (l'EPCI sera resolu automatiquement)",
"type": "string"
},
"epci": {
"description": "Nom de l'EPCI (ex: 'Bordeaux Metropole', 'Rennes Metropole')",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_budget_epci"
},
{
"description": "Consulte les comptes financiers d'une commune : recettes, depenses, epargne brute, encours de dette, investissements. Donnees 2017-2024. Source : OFGL via data.ofgl.fr.",
"inputSchema": {
"properties": {
"annee": {
"description": "Annee du budget (2017-2024). Par defaut : derniere disponible.",
"type": "number"
},
"code_insee": {
"description": "Code INSEE de la commune (ex: '69123')",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '69001')",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon', 'Bordeaux')",
"type": "string"
}
},
"type": "object"
},
"name": "consulter_budget_commune"
},
{
"description": "Recherche des subventions versees par les collectivites locales et organismes publics. Filtrage par beneficiaire, attribuant, objet, montant minimum et annee. Source : data.gouv.fr (obligation legale > 23 000 EUR).",
"inputSchema": {
"properties": {
"annee": {
"description": "Annee de la convention (ex: 2023)",
"type": "number"
},
"attribuant": {
"description": "Nom de l'organisme attribuant (commune, departement, metropole...)",
"type": "string"
},
"beneficiaire": {
"description": "Nom du beneficiaire (association, organisme, entreprise)",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-50, defaut 10)",
"type": "number"
},
"montant_min": {
"description": "Montant minimum en euros (ex: 10000)",
"type": "number"
},
"objet": {
"description": "Objet ou descriptif de la subvention (recherche partielle)",
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_subvention"
},
{
"description": "Recherche des entreprises par secteur d'activite (code NAF/APE) et zone geographique. Retourne les informations SIRENE : nom, etat (actif/cesse), dates de creation et fermeture. Source : API Recherche Entreprises (DINUM).",
"inputSchema": {
"properties": {
"code_departement": {
"description": "Code departement (ex: '69', '75')",
"type": "string"
},
"code_naf": {
"description": "Code NAF/APE (ex: '10.71C' boulangerie, '56.10A' restauration, '62.01Z' informatique)",
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '69001')",
"type": "string"
},
"commune": {
"description": "Commune (ex: 'Lyon', 'Paris')",
"type": "string"
},
"etat": {
"description": "Filtrer par etat : actif (A) ou cesse (C). Par defaut : tous.",
"enum": [
"actif",
"cesse"
],
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-25, defaut 10)",
"type": "number"
}
},
"type": "object"
},
"name": "consulter_sirene_historique"
},
{
"description": "Recherche d'annonces legales dans le BODACC (Bulletin officiel des annonces civiles et commerciales) : ventes et cessions, immatriculations, radiations, modifications, procedures collectives, depots de comptes. Filtrage par entreprise, SIREN, type d'annonce, departement ou periode. Source : API BODACC \u2014 DILA.",
"inputSchema": {
"properties": {
"date_debut": {
"description": "Date de debut au format YYYY-MM-DD",
"type": "string"
},
"date_fin": {
"description": "Date de fin au format YYYY-MM-DD",
"type": "string"
},
"departement": {
"description": "Code departement (ex: '75', '69')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 10)",
"type": "number"
},
"nom_entreprise": {
"description": "Nom exact ou partiel de l'entreprise",
"type": "string"
},
"recherche": {
"description": "Recherche par nom d'entreprise ou ville (ex: 'SARL Martin', 'Bordeaux')",
"type": "string"
},
"siren": {
"description": "Numero SIREN de l'entreprise (9 chiffres)",
"type": "string"
},
"type_annonce": {
"description": "Type d'annonce a filtrer",
"enum": [
"vente_cession",
"immatriculation",
"radiation",
"procedure_collective",
"modification"
],
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_annonce_legale"
},
{
"description": "Recherche d'offres d'emploi actives en temps reel via France Travail. Filtrage par mots-cles, commune, code postal, departement, type de contrat (CDI/CDD/MIS...) et qualification (cadre/non-cadre). Necessite les secrets FT_CLIENT_ID / FT_CLIENT_SECRET (inscription gratuite sur francetravail.io). Source : API Offres d'emploi v2 \u2014 France Travail.",
"inputSchema": {
"properties": {
"code_postal": {
"description": "Code postal (ex: '69001'). Resout en code commune.",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon', 'Paris'). Resout automatiquement en code commune.",
"type": "string"
},
"departement": {
"description": "Code departement (ex: '75', '69', '93'). Alternative a commune/code_postal.",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-30, defaut 10)",
"type": "number"
},
"mots_cles": {
"description": "Mots-cles sur l'intitule ou la description du poste (ex: 'developpeur TypeScript', 'infirmier', 'comptable')",
"type": "string"
},
"qualification": {
"description": "Niveau de qualification (optionnel)",
"enum": [
"cadre",
"non-cadre"
],
"type": "string"
},
"type_contrat": {
"description": "Type de contrat : CDI, CDD, MIS (interim), SAI (saisonnier), LIB (liberale), REP (reprise), CUI (aide), PRO (professionnalisation)",
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_offre_emploi"
},
{
"description": "Prix des carburants en temps reel pour un departement ou une commune. Retourne les stations triees par prix croissant avec Gazole, SP95, SP98, E10, E85, GPLc et indicateur automate 24/24. Source : data.economie.gouv.fr (flux instantane, MAJ toutes les 10 min).",
"inputSchema": {
"properties": {
"carburant": {
"description": "Type de carburant a filtrer et trier (optionnel \u2014 tous les prix affiches si absent)",
"enum": [
"Gazole",
"SP95",
"SP98",
"E10",
"E85",
"GPLc"
],
"type": "string"
},
"code_postal": {
"description": "Code postal (ex: '69001')",
"type": "string"
},
"commune": {
"description": "Nom de la commune (ex: 'Lyon', 'Bordeaux')",
"type": "string"
},
"departement": {
"description": "Numero ou nom du departement (ex: '69', 'Rhone', '13')",
"type": "string"
},
"limit": {
"description": "Nombre de stations (1-20, defaut 10)",
"type": "number"
}
},
"type": "object"
},
"name": "consulter_prix_carburant"
},
{
"description": "Recherche des formations professionnelles eligibles au CPF (MonCompteFormation). Filtrage par mot-cle, departement, code ROME, niveau de sortie ou modalite a distance. Retourne l'organisme, la certification, le niveau, les codes ROME, les frais TTC et le nombre de sessions actives. Source : data.gouv.fr \u2014 catalogue national MCF.",
"inputSchema": {
"properties": {
"a_distance": {
"description": "Si true, retourne uniquement les formations avec au moins une session a distance",
"type": "boolean"
},
"code_rome": {
"description": "Code ROME (ex: 'M1805', 'E1206'). Recherche dans les 5 codes ROME de la formation.",
"type": "string"
},
"departement": {
"description": "Code departement (ex: '69', '75', '93')",
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-50, defaut 10)",
"type": "number"
},
"niveau": {
"description": "Niveau de sortie de la formation (ex: 'bac+2', 'licence', 'master', 'CAP')",
"type": "string"
},
"recherche": {
"description": "Mot-cle dans l'intitule de la formation (ex: 'comptabilite', 'developpeur web', 'bilan de competences')",
"type": "string"
}
},
"type": "object"
},
"name": "rechercher_formation"
},
{
"description": "Recherche de jurisprudence judiciaire francaise : arrets de la Cour de cassation et cours d'appel. Retourne les decisions avec juridiction, formation, solution et lien Legifrance. Source : API Legifrance officielle (PISTE/DILA).",
"inputSchema": {
"properties": {
"juridiction": {
"description": "Filtrer par juridiction (defaut: Toutes)",
"enum": [
"Cour de cassation",
"Cours d'appel",
"Toutes"
],
"type": "string"
},
"limit": {
"description": "Nombre de resultats (1-20, defaut 5)",
"type": "number"
},
"publie_bulletin": {
"description": "Filtrer les arrets publies au bulletin (Cour de cassation uniquement). Optionnel.",
"type": "boolean"
},
"recherche": {
"description": "Termes de recherche (ex: 'licenciement abusif', 'prejudice moral', 'clause non-concurrence')",
"type": "string"
}
},
"required": [
"recherche"
],
"type": "object"
},
"name": "rechercher_jurisprudence"
}
]
}
},
"bad_protocol_status_code": 200,
"delete_error": null,
"delete_status_code": null,
"expired_session_error": null,
"expired_session_status_code": null,
"issues": [
"missing_session_id",
"missing_protocol_header",
"bad_protocol_not_rejected"
],
"last_event_id_visible": false,
"protocol_header_present": false,
"requested_protocol_version": "2025-03-26",
"session_id_present": false,
"transport": "streamable-http"
}
},
"remote_url": "https://mcp-service-public.nhaultcoeur.workers.dev/mcp",
"server_card_payload": null,
"server_identifier": "io.github.OneNicolas/mcp-service-public"
}
Known versions
1.9.1
Validation history
7 day score delta
+0.0
30 day score delta
+0.0
Recent healthy ratio
100%
Freshness
605.0h
| Timestamp | Status | Score | Latency | Tools |
|---|---|---|---|---|
| Apr 09, 2026 12:53:46 AM UTC | Healthy | 72.6 | 334.5 ms | 38 |
| Apr 08, 2026 12:49:41 AM UTC | Healthy | 72.6 | 373.6 ms | 38 |
| Apr 07, 2026 12:45:44 AM UTC | Healthy | 72.6 | 383.0 ms | 38 |
| Apr 06, 2026 12:42:35 AM UTC | Healthy | 72.6 | 426.4 ms | 38 |
| Apr 05, 2026 12:39:41 AM UTC | Healthy | 72.6 | 394.8 ms | 38 |
| Apr 04, 2026 12:39:04 AM UTC | Healthy | 72.6 | 373.9 ms | 38 |
| Apr 03, 2026 12:32:23 AM UTC | Healthy | 72.6 | 575.5 ms | 38 |
| Apr 02, 2026 12:20:33 AM UTC | Healthy | 72.6 | 412.0 ms | 38 |
Validation timeline
| Validated | Summary | Score | Protocol | Auth mode | Tools | High-risk tools | Changes |
|---|---|---|---|---|---|---|---|
| Apr 09, 2026 12:53:46 AM UTC | Healthy | 72.6 | 2025-03-26 | public | 38 | 10 | none |
| Apr 08, 2026 12:49:41 AM UTC | Healthy | 72.6 | 2025-03-26 | public | 38 | 10 | none |
| Apr 07, 2026 12:45:44 AM UTC | Healthy | 72.6 | 2025-03-26 | public | 38 | 10 | none |
| Apr 06, 2026 12:42:35 AM UTC | Healthy | 72.6 | 2025-03-26 | public | 38 | 10 | none |
| Apr 05, 2026 12:39:41 AM UTC | Healthy | 72.6 | 2025-03-26 | public | 38 | 10 | none |
| Apr 04, 2026 12:39:04 AM UTC | Healthy | 72.6 | 2025-03-26 | public | 38 | 10 | none |
| Apr 03, 2026 12:32:23 AM UTC | Healthy | 72.6 | 2025-03-26 | public | 38 | 10 | none |
| Apr 02, 2026 12:20:33 AM UTC | Healthy | 72.6 | 2025-03-26 | public | 38 | 10 | none |
| Mar 31, 2026 11:43:31 PM UTC | Healthy | 72.6 | 2025-03-26 | public | 38 | 10 | none |
| Mar 30, 2026 11:34:42 PM UTC | Healthy | 72.6 | 2025-03-26 | public | 38 | 10 | none |
| Mar 29, 2026 11:21:46 PM UTC | Healthy | 72.6 | 2025-03-26 | public | 38 | 10 | none |
| Mar 28, 2026 10:03:17 PM UTC | Healthy | 72.6 | 2025-03-26 | public | 38 | 10 | none |
Recent validation runs
| Started | Status | Summary | Latency | Checks |
|---|---|---|---|---|
| Apr 09, 2026 12:53:46 AM UTC | Completed | Healthy | 334.5 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Apr 08, 2026 12:49:41 AM UTC | Completed | Healthy | 373.6 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Apr 07, 2026 12:45:44 AM UTC | Completed | Healthy | 383.0 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Apr 06, 2026 12:42:35 AM UTC | Completed | Healthy | 426.4 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Apr 05, 2026 12:39:41 AM UTC | Completed | Healthy | 394.8 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Apr 04, 2026 12:39:04 AM UTC | Completed | Healthy | 373.9 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Apr 03, 2026 12:32:23 AM UTC | Completed | Healthy | 575.5 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Apr 02, 2026 12:20:33 AM UTC | Completed | Healthy | 412.0 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Mar 31, 2026 11:43:31 PM UTC | Completed | Healthy | 352.3 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Mar 30, 2026 11:34:42 PM UTC | Completed | Healthy | 268.3 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |